Вот как выглядит мой файл csv:
У меня есть три поля ( import site
, import goods
, import status
) для импорта соответствующих данных. Поэтому, если пользователь нажимает на import site
только для import site
, имя сайта будет сохранено, а остальное – нет, аналогично для import goods
и import status
.
Данные и данные site's
сохраняются в одной таблице, но данные о goods
сохраняются в другой таблице в отношении его сайта. Как сохранить их в нескольких таблицах?
Я поделюсь простым фрагментом, чтобы разобрать файлы csv, возможно, это может помочь
$i=0; $keys=array();$output=array(); $handle=fopen($filename, "r"); if ($handle){ while(($line = fgetcsv($handle)) !== false) { $i++; if ($i==1) { $keys=$line; } elseif ($i>1){ $attr=array(); foreach($line as $k=>$v){ $attr[$keys[$k]]=$v; } $output[]=$attr; } } fclose($handle); }
Это выполнит эту работу, я всегда буду использовать ее, когда вы придете в csv. Чтобы сделать эту работу, первая строка должна содержать ключи, например:
import_site, import_goods, import_status
В вашем массиве $output
вы будете иметь данные с ключами $output["import_site"]
и так далее.
Надеюсь, это будет полезно.
В случае, если проблемы с csv, сгенерированными на mac, запомните это:
ini_set("auto_detect_line_endings", true);
может сэкономить много времени;)