[英]insert data from html table to mysql
首先,我將 CSV 轉換為 html 表,接下來我將 html 表中的數據發布到下面的腳本中,然后將新記錄插入數據庫:
foreach($file_data as $row)
{
$data[] = '("'.$row[$_POST["sku"]].'", "'.$row[$_POST["stock"]].'")';
}
if(isset($data))
{
$query = "
INSERT INTO products
(sku, stock)
VALUES ".implode(",", $data)."
";
以上 function 工作正常,我可以將示例 1000 條記錄插入數據 mysql。
現在我需要更改此 function 並更新 mysql 表。
我嘗試這樣的:
$file_data = $_SESSION['file_data'];
unset($_SESSION['file_data']);
foreach($file_data as $row)
{
$data[] = '("'.$row[$_POST["sku"]].'")';
$title[] = '("'.$row[$_POST["title"]].'")';
$lang_id[] = '("'.$row[$_POST["lang_id"]].'")';
}
if(isset($data))
{
$query = "
UPDATE product_details
SET title = ".implode(",", $title)."
WHERE sku = ".implode(",", $data)." AND lang_id = ".implode(",", $lang_id)."
";
$statement = $connect->prepare($query);
if($statement->execute())
{
echo 'Data Imported Successfully';
}
}
此更新 function 有效,但僅當可用/在 CSV 文件(html 表)中發布 1 條記錄時。 當我嘗試從 html 表(csv 文件)更新/發布示例 2 或更多記錄時,無法正常工作。
我目前從上面的 function 知道我只發布 1 條記錄時得到結果:
UPDATE product_details
SET title = title1 WHERE sku = "P6951H0E3-Q12" AND lang_id = 1;
然后這個上面的查詢工作。 但是當我嘗試發布 2 條或更多條記錄時,我會得到 output 查詢,如下所示:
UPDATE product_details
SET title = title1 WHERE sku = "P6951H0E3-Q12" AND lang_id = 1
SET title = title2 WHERE sku = "PLD_4051/S";" AND lang_id = 1
而上面的 SQL 查詢永遠不會起作用,但是如何獲得這樣的結果:
UPDATE product_details SET title = "title1" WHERE sku = "P6951H0E3-Q12" AND lang_id = "1";
UPDATE product_details SET title = "title2" WHERE sku = "PLD_4051/S" AND lang_id = "1";
我認為這會奏效
$file_data = $_SESSION['file_data'];
unset($_SESSION['file_data']);
foreach ($file_data as $row) {
$data = $row[$_POST["sku"]];
$title = $row[$_POST["title"]];
$lang_id = $row[$_POST["lang_id"]];
if (isset($data)) {
$statement = $connect->prepare("UPDATE product_details SET title = '$title'
WHERE sku = '$data' AND lang_id = '$lang_id'");
if (!$statement->execute()) {
$error = 'None or part of the data was updated';
}
}
}
echo $error ?? 'Data Updated Successfully';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.