我有一个表单,我试图用它来更新mysql DB中的库存水平。
在表单上我有一个jquery插件relcopy.js
,我用它来增加表单行的数量。我在文本框输入后附加了[]方括号,以便在发布时将其作为数组拾取,即lst_Product[]
等等。
表单页面发布到包含以下代码的插入页面。它旨在选择我想要更新的库存水平所需的产品并插入新值。
如果我从输入表单中发布一行进行更新,则代码可以正常工作。如果我发布让我们说输入表单中的三行,它将只更新第三个条目。
我怀疑我在“foreach或while”场景中出错了,但我对如何解决它感到难过。如果你们中的一个人能指出我正确的方向,我将不胜感激。我宁愿继续使用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;?>
那是我的问题