我有一个表格,我试图用它来更新 mysql 数据库中的库存水平。
在表单上,我有一个 jquery 插件relcopy.js
,我用它来根据需要增加表单行的数量。我已将文本框输入附加到 [] 方括号中,以便在发布时将它们作为数组拾取,即lst_Product[]
等等。
表单页面发布到包含以下代码的插入页面。它旨在选择我希望更新和插入新值的库存水平的所需产品。
如果我从要更新的输入表单中发布一行,则代码可以正常工作。如果我发布让我们说输入表单中的三行,它将只更新第三个条目。
我怀疑我在“foreach 或 while”场景中出错了,但我不知道如何解决它。如果你们中的一个人能指出我正确的方向,我将不胜感激。n 我宁愿继续使用 mysqli 扩展方法。
<?php session_start();?>
<?php require_once('../Connections/connpay.php'); ?>
<?php require_once('../functions/global_functions.php'); ?>
<?php require_once('../functions/account_functions.php'); ?>
<?php
foreach ($_POST['lst_product']as $row=>$product_id);
//$product_id = clean_data($_POST['lst_product']);
$quantity = clean_data($_POST['txt_quantity'][$row]);
$company_id = clean_data($_POST['hidden_company_id']);
?>
<?php
//Lets connect to the database
if(mysqli_connect_errno()){
exit("Failed to connect to the database".mysqli_connect_error());}
?>
<?php
$query = "SELECT product_id,stock_level,item_cost FROM acc_stock_items WHERE company_id = '$company_id' AND product_id = '$product_id'";
$result = $conn->query($query);
while ($row = $result->fetch_assoc())
if (!empty($row['product_id'])){
$current_stock = $row['stock_level'];
$update_quantity = ($current_stock + $quantity);
$query = "UPDATE acc_stock_items SET stock_level = '$update_quantity' WHERE product_id = '$product_id'";
if ($conn->query($query)===TRUE){
//Header("Location:../view_stock_items.php");
echo"all good";}
else {
echo "Error:".$conn->error;
}
}
$conn->close();
?>
<?php print_r($query)?>
Selected list item is :<?php echo $product_id;?><br>
The company id is: <?php echo $company_id;?>
那是我的问题