私は過去数日間この問題に直面していて、今やらなければならないのでイライラしています。
CSVファイルの列名をデータベーステーブルヘッダーで更新する必要があります。データベーステーブルのフィールドがCSVファイルと異なります。ここで問題となるのは、最初にデータベーステーブルヘッダーを使用してCSVファイルの列名を更新し、次にフィールドマッピングを使用してそのデータをデータベースにインポートすることです。
どうすれば解決できるかわからないので、助けてください。
これは私のphpコードです:
$file = $_POST['fileName'];
$filename = "../files/" . $file;
$list = $_POST['str'];
$array_imp = implode(',', $list);
$array_exp = explode(',', $array_imp);
$fp = fopen("../files/" . $file, "w");
$num = count($fp);
for ($c = 0; $c < $num; $c++) {
if ($fp[c] !== '') {
fputcsv($fp, $array_exp);
}
}
fclose($fp);
require_once("../csv/DataSource.php");
$path = "../files/test_mysql.csv";
$dbtable = $ext[0];
$csv = new File_CSV_DataSource;
$csv->load($path);
$csvData = $csv->connect();
$res='';
foreach($csvData as $key)
{ print_r($key[1]);
$myKey ='';
$myVal='';
foreach($key as $k=>$v)
{
$myKey .=$k.',';
$myVal .="'".$v."',";
}
$myKey = substr($myKey, 0, -1);
$myVal = substr($myVal, 0, -1);
$query="insert into tablename($myKey)values($myVal)";
$res= mysql_query($query);