【发布时间】:2010-10-21 08:02:36
【问题描述】:
我需要我的客户更新信息来填写客户表。
我将我想要的表格导出到一个 excel 文件,并要求他们填写新信息(这只是我需要更新的一列),他们已将文件发回给我。
现在我想将该信息导入回我的表格列。
多次试错,转成csv的excel文件,通过phpmyadmin导入。
但它没有更新任何列。
我做错了什么?
【问题讨论】:
标签: php mysql phpmyadmin
我需要我的客户更新信息来填写客户表。
我将我想要的表格导出到一个 excel 文件,并要求他们填写新信息(这只是我需要更新的一列),他们已将文件发回给我。
现在我想将该信息导入回我的表格列。
多次试错,转成csv的excel文件,通过phpmyadmin导入。
但它没有更新任何列。
我做错了什么?
【问题讨论】:
标签: php mysql phpmyadmin
如果您只需要从 CSV 数据生成 UPDATE 语句,您可能想看看我的 FOSS CSV 工具,CSVFix,它可以做到这一点以及更多,而无需编写任何代码、PHP 或否则。
【讨论】:
如果你有一个 .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',....);
}
?>
【讨论】:
PHP 有一个名为 fgetcsv() 的函数来解析 CSV 文件。
您可以使用它来循环浏览您的 CSV 文件并创建 MySQL 更新字符串。您可以通过 mysql_query() 执行,或者只是复制并粘贴到 PHPMyAdmin 的查询窗口中。
【讨论】: