在Mysql DB中更新多行

时间:2013-03-11 16:17:28

标签: sql-update

我有一个表单,我试图用它来更新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;?>

那是我的问题

0 个答案:

没有答案