Как я могу импортировать файл (CSV / Excel) с частичными данными в таблицу в базе данных через phpmyadmin? - PullRequest
3 голосов
/ 23 апреля 2009

Мне нужно было обновить информацию из моего клиента, чтобы заполнить таблицу клиентов.

Я экспортировал таблицу, которую я хотел, в файл Excel, и попросил их заполнить новой информацией (это был только столбец, который мне нужно было обновить), и они отправили мне обратно файл.

Теперь я хочу импортировать эту информацию обратно в столбец моей таблицы.
Метод проб и ошибок много раз преобразуется в CSV-файл Excel и импортируется через phpmyadmin.

Но он не обновил ни один столбец.

Что я делаю не так?

Ответы [ 3 ]

4 голосов
/ 23 апреля 2009

Если вам просто нужно сгенерировать операторы UPDATE из данных CSV, вы можете взглянуть на мой инструмент FOSS CSV, CSVFix , который может сделать это и многое другое без необходимости писать какие-либо код, PHP или иным образом.

2 голосов
/ 23 апреля 2009

Если у вас есть файл в .csv и вы знаете немного PHP, вы можете просто написать скрипт, который просматривает файл и вставляет / обновляет записи в базе данных.

Например, допустим, что каждая строка в вашем CSV структурирована так:

id,name,address,email,date

например:

1,bob smith,344 abc street,test@example.com,2009-04-01

Вы можете пройти через это следующим образом:

<?php
$data=file_get_contents('your-file.csv');
//Split the file and get an array representing the lines/rows in the .csv
$rows=explode("\n",$data); 

foreach ($rows as $row)
{

   //Remove any excess whitespace from start and end of the row:
   $row=trim($row);
   $id=$row[0];
   $name=$row[1];
   $address=$row[2];
   $email=$row[3];
   $date=$row[4];
   mysql_query("UPDATE TABLE SET name='$name',....);
}
?>
1 голос
/ 23 апреля 2009

PHP имеет функцию fgetcsv () для анализа файлов CSV.

Вы можете использовать это для просмотра вашего CSV-файла и создания строк обновления MySQL. Это вы можете выполнить либо через mysql_query (), либо просто скопировать и вставить в окно Query в PHPMyAdmin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...