3

クライアントテーブルを埋めるために、クライアントから更新された情報が必要でした。

必要なテーブルを Excel ファイルにエクスポートし、新しい情報を入力するように依頼したところ (更新が必要だったのは列だけでした)、ファイルが返送されてきました。

次に、その情報をテーブルの列にインポートします。
試行錯誤を重ね、エクセルファイルをcsv化し、phpmyadminでインポート。

しかし、それはどの列も更新しませんでした。

私は何を間違っていますか?

4

3 に答える 3

4

CSV データから UPDATE ステートメントを生成するだけの場合は、私の FOSS CSV ツールであるCSVFixを参照してください。このツールを使用すると、PHP などのコードを一切記述しなくても、これだけでなく、さらに多くのことができます。

于 2009-04-23T12:08:44.510 に答える
2

ファイルが .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',....);
}
?>
于 2009-04-23T10:35:43.597 に答える
1

PHP には、 CSV ファイルを解析するfgetcsv()という関数があります。

これを使用して、CSV ファイルをループし、MySQL 更新文字列を作成できます。mysql_query() を介して実行するか、コピーして PHPMyAdmin の [クエリ] ウィンドウに貼り付けるだけで実行できます。

于 2009-04-23T12:05:39.853 に答える