避免使用PHP在csv中插入重复数据

时间:2019-02-10 11:37:56

标签: php csv

我通过以下方式将数据存储到csv文件中:

$out = fopen('wpo_stock.csv', 'a');
fputcsv($out, array($order_id,$product_id,$product_name,$product_quantity, $regular_price));
fclose($out);

那将我的数据完美地存储在csv中。
问题是:每次刷新页面时,它都会在csv文件中不断插入重复的数据。
如何避免按order_id插入重复的数据(order_id是项目中的唯一值)?

代码已更新:

$handle = fopen('wpo_stock.csv', 'r');
while (($data = fgetcsv($handle, ",")) !== FALSE) {
if($data[0] != $order_id){
$out = fopen('wpo_stock.csv', 'a');
fputcsv($out, array($order_id,$product_id,$product_name,$product_quantity, $regular_price));
} break;
}
fclose($handle);

1 个答案:

答案 0 :(得分:1)

我假设您在页面刷新时一直试图覆盖数据。在这种情况下,您应该像这样$out = fopen('wpo_stock.csv', 'w');打开文件。

但是,如果您尝试添加新数据,则需要从文件中读取所有数据并与新数据进行比较。