クライアントテーブルを埋めるために、クライアントから更新された情報が必要でした。
必要なテーブルを Excel ファイルにエクスポートし、新しい情報を入力するように依頼したところ (更新が必要だったのは列だけでした)、ファイルが返送されてきました。
次に、その情報をテーブルの列にインポートします。
試行錯誤を重ね、エクセルファイルをcsv化し、phpmyadminでインポート。
しかし、それはどの列も更新しませんでした。
私は何を間違っていますか?
クライアントテーブルを埋めるために、クライアントから更新された情報が必要でした。
必要なテーブルを Excel ファイルにエクスポートし、新しい情報を入力するように依頼したところ (更新が必要だったのは列だけでした)、ファイルが返送されてきました。
次に、その情報をテーブルの列にインポートします。
試行錯誤を重ね、エクセルファイルをcsv化し、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 には、 CSV ファイルを解析するfgetcsv()という関数があります。
これを使用して、CSV ファイルをループし、MySQL 更新文字列を作成できます。mysql_query() を介して実行するか、コピーして PHPMyAdmin の [クエリ] ウィンドウに貼り付けるだけで実行できます。