2017-09-26 19 views
-1

私はPHPを使用してExcelからmysqlにデータを取得する方法を知っています。私はMySQLのテーブルの下にある入力データにしたいExcelの行データをPHPのmysqlカラムに取得する

Excel file

:以下、Excelのグラフを見てください。 excelファイルの列D、E、F、Gのデータは、mysqlテーブル&の列A、B、Cの列として挿入されます。& Hは列として入力しますが、A、B、Cの行番号に続きます。& D

MYSQL TABLE WITH DATA

私は少し複雑だと感じています。しかし、いくつかのアイデアを与えたり、それをどうやって行うかアドバイスしてください。このように処理するファイルがたくさんあるので、Excelファイルを変更することはできません。

+0

質問のステータスはどうですか?解決した場合は、回答を受け入れることで解決済みとマークする必要があります。方法がわからない場合は、お尋ねください。緑色になるまで答えの横にある灰色のチェックマークをチェックするだけです。 –

+0

このコードはどこにありますか? –

答えて

0

基本的に、Excelの1行はMySQLで4行挿入/更新されます。 PhpSpreadsheetを使用すると、Excelファイルを簡単に繰り返し処理できます。

pseudo-php-code内でのロジックのようなものになります:同期について

// Statement prepare 
$DB = new PDO('mysql:host='.$host.';dbname='.$base., $user, $pass); 
$ST = $DB->prepare('insert into table(field1, fiel2, ..) values (:field1, :field2, ..)'); 

// Excel iteration 
while ($Row = $Excel->NextRow()) { 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['D']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['E']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['F']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['G']]); 
} 

:のみ挿入については

// Statement prepare 
$DB = new PDO('mysql:host='.$host.';dbname='.$base., $user, $pass); 
// Update statement 
$ST = $DB->prepare('update table set field2 = :field2 where field1 = :field2 and ..)'); 

// Excel iteration 
while ($Row = $Excel->NextRow()) { 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['D']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['E']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['F']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['G']]); 
} 

は、あなたがアイデアを得た願っています。

+0

こんにちは、お返事ありがとうございます。初心者として私に完全なコード/スクリプトを教えてください。少しわかりました。 –

+2

コピー/ペースト用の作業スクリプトを完成させるには?私は慈善が好きですが、めったにそれのためのコード:)私はあなたにアプローチを与え、思考を開始します。 StackOverflowは無料のコーディングサービスではありません。 – Marcodor

0

コードの下に、今はその細かいところがあります。

$fft1=888; 
$fft2=777; 
$fft3=""; 
$fft4=999; 

$fft5=100; 
$ctnqty=10; 
$friendslist = "$fft1,$fft2,$fft3,$fft4"; 
$id = $fft5; 
$friendarray = explode(",", $friendslist); 
    $frienduserarray = array(); 

for ($n = 0; $n < count($friendarray); $n++) { 
    $friendidpush = "('".$id."','".$friendarray[$n]."','".$ctnqty."'),"; 
    array_push($frienduserarray, $friendidpush); 
} 
$query = "INSERT INTO freddyhipment (style, orderno,ctnqty) VALUES "; 
$friendarray = explode(",", $friendslist); 

foreach ($friendarray as $order) { 
$query .= "('" . $id . "','" . $order . "','" . $ctnqty . "'),"; 
} 

$query = substr($query, 0, -1); // remove trailing comma 
関連する問題