我通过以下方式将数据存储到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);
答案 0 :(得分:1)
我假设您在页面刷新时一直试图覆盖数据。在这种情况下,您应该像这样$out = fopen('wpo_stock.csv', 'w');
打开文件。
但是,如果您尝试添加新数据,则需要从文件中读取所有数据并与新数据进行比较。