2009-04-23 104 views
3

我需要從客戶端更新信息來填寫客戶表。如何通過phpmyadmin將部分數據的文件(csv/excel)導入數據庫中的表格?

我把我想要的表格導出爲ex​​cel文件,並要求他們填寫新信息(它只是我需要更新的一列),並且他們已將我發回的文件。

現在我想將該信息導回到我的表格列。
多次嘗試和錯誤,轉換爲csv excel文件並通過phpmyadmin導入。

但它沒有更新任何列。

我在做什麼錯?

回答

2

如果你有.csv文件,並且你知道一些PHP,你可以編寫一個腳本來循環訪問該文件,並在數據庫中插入/更新記錄。

例如,讓我們說,在您的CSV各行的結構是這樣的:

id,name,address,email,date 

如:

1,bob smith,344 abc street,[email protected],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',....); 
} 
?> 
+0

那裏還會有where子句嗎? – pal4life 2012-03-09 20:33:28

1

PHP有一個叫fgetcsv()的函數來解析CSV文件。

你可以使用它來循環你的CSV文件並創建MySQL更新字符串。你可以通過mysql_query()執行,也可以複製並粘貼到PHPMyAdmin的查詢窗口中。

4

如果您只是需要從CSV數據生成UPDATE語句,您可能需要查看我的FOSS CSV工具CSVFix,該工具可以做到這一點,而且不需要編寫任何代碼,PHP或其他。

+0

嗨尼爾,謝謝!我看了一下,但有可能爲1700行的一列做更新?在我看來,我必須逐行更新.. – dutraveller 2009-04-23 14:50:12

相關問題