У меня возникла проблема с попыткой импортировать данные из CSV и задать пару вопросов, которые мне еще не удалось решить.
Прежде всего, здесь мой код, чтобы помочь поместить вещи в перспективу (немного прибрал его, удалив соединение CSS и DB):
<body>
<div id="container">
<div id="form">
<?php
$deleterecords = "TRUNCATE TABLE tablename"; //empty the table of its current records
mysql_query($deleterecords);
//Upload File
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded
successfully." . "</h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['filename']['tmp_name']);
}
//Import uploaded file to Database
$handle = fopen($_FILES['filename']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$import="INSERT into importing(text,number)values('$data[0]','$data[1]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);
print "Import done";
//view upload form
} else {
print "Upload new csv by browsing to file and clicking on Upload<br />\n";
print "<form enctype='multipart/form-data' action='upload.php' method='post'>";
print "File name to import:<br />\n";
print "<input size='50' type='file' name='filename'><br />\n";
print "<input type='submit' name='submit' value='Upload'></form>";
}
?>
</div>
</div>
</body>
Это в основном адаптация примера, который я нашел после многих попыток различных методов.
В моем CSV есть два столбца данных, первый - текст, а второй - целые числа Таблица в базе данных также имеет два столбца, первый называется "текст" и второй "номер"
Итак, у меня есть следующие вопросы:
- загружаемый текст просто отображается как 0 в каждом поле, и я не уверен, почему
- Я продолжаю читать данные, заключенные в "", если это произойдет, как бы я его сортировал?
- как я могу игнорировать первые строки X CSV для заголовков и т.д.?
- - это формат данных, измененный в этом процессе или он готов для использования на графике? например было бы десятичное пребывание десятичным после размещения в базе данных?
Я думаю, что это все, спасибо за любую помощь!
EDIT:
Просто выполнил тест на 10 000 записей и получил ошибку:
"Неустранимая ошибка: превышено максимальное время выполнения 30 секунд"
любые мысли?