вот мои сценарии.
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "<br></h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['filename']['tmp_name']);
echo "<br>";
echo $headers;
}
$handle = fopen($_FILES['filename']['tmp_name'], "r");
$header = fgetcsv($handle);
while(! feof($handle)){
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$import="INSERT into CSVtest($header[0],$header[1],$header[2],$header[3],$header[4])
values
('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($import) or die(mysql_error());
}
}
fclose($handle);
echo "Done";
}
Это способ, которым я вставляю данные в базу данных в соответствии с заголовком, даже если он не расположен так же, как столбец таблицы.
Если CSV имеет только «ячейка, имя, фамилия» (и моя таблица имеет только эти 3 столбца), то он все еще работает ... но если есть «ячейка, адрес, компания, имя, фамилия», то он покажет мне неизвестную ошибку столбца.
На самом деле я хотел бы иметь функцию, которая, даже если в csv есть много столбцов, которых нет в таблице, все равно может просто выбрать правильный столбец и вставить в таблицу.
Может ли кто-нибудь дать мне подсказку о том, как изменить мой сценарий? Я знаю, что есть много ошибок ... действительно стыдно показывать мой сценарий низкого стандарта ...
Заранее спасибо.