mysqli — Получение данных строки Excel в столбец mysql в переполнении стека

Я знаю, как я могу получить данные из Excel в MySQL, используя PHP. Пожалуйста, посмотрите на таблицу Excel ниже:

Файл Excel

Я хочу ввести данные в таблицу ниже MySQL.
Из файла Excel столбца D, E, F, G данные будут вставлены как строки в таблицу MySQL. & колонка А, В, С & H будет вводиться как столбец, но будет следовать за номером строки как A, B, C & D

MYSQL СТОЛ С ДАННЫМИ

Я чувствую, что я спрашиваю, немного сложно. Но, пожалуйста, попробуйте дать некоторую идею или совет, как это сделать. Я не могу изменить файл Excel, потому что есть много файлов, чтобы продолжить этот путь.

-1

Решение

В основном одна строка из 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']]);
}

Надеюсь, у вас есть идея.

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
0

По вопросам рекламы [email protected]