Я знаю, как я могу получить данные из Excel в MySQL, используя PHP. Пожалуйста, посмотрите на таблицу Excel ниже:
Я хочу ввести данные в таблицу ниже MySQL.
Из файла Excel столбца D, E, F, G данные будут вставлены как строки в таблицу MySQL. & колонка А, В, С & H будет вводиться как столбец, но будет следовать за номером строки как A, B, C & D
Я чувствую, что я спрашиваю, немного сложно. Но, пожалуйста, попробуйте дать некоторую идею или совет, как это сделать. Я не могу изменить файл Excel, потому что есть много файлов, чтобы продолжить этот путь.
В основном одна строка из Excel будет вставлять / обновлять 4 строки в MySQL.
Может использовать 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']]);
}
Надеюсь, у вас есть идея.
Здесь, под кодом, теперь все в порядке.
$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