簡體   English   中英

在mysql中選擇一個具有匹配ID數組的數組並計算

[英]Select an array in mysql with match id array and calculate

我有一個表單文本框中的帖子值示例:

<input type="number" name="m_id[<?php echo $row['m_id']; ?>]" value="<?php echo $row['m_id']; ?>"/>

<input type="number" name="qty[<?php echo $row['m_id']; ?>]" value=""/>

在我的PHP代碼中:

$id = $_POST['m_id'];
$qty = $_POST['qty'];

假設post數組的id為2,4,5,數量為1,1,1

id    qty
2     1
4     1
5     1

我如何選擇一個名為sup_mon的表,例如:

sup_mon table:
      m_id    balance
       1         2
       2         5
       3         20
       4         15 
       5         8

the select will be:
      m_id    balance
       2         5
       4         15 
       5         8

如何從相應m_id中的數量數組輸入1,1,1中減去余額。

您需要一個循環,其中包含每個ID的更新查詢。 您沒有提到數據庫連接樣式,因此我將使用PDO。 注意:此代碼假定每個id都有一個數量。 您還需要更改更新語句以匹配您的數據庫名稱,等等。

for ($i=0; $i<count($_POST['id']); $i++) {

    $sql = "UPDATE databaseName.sup_mon SET balance = balance - :qty WHERE m_id = :id";

    //if you're debugging, you may want to uncomment the next line:
    //echo $sql;

    //here $dbh is a PDO object - database handler
    $stmt = $dbh->prepare($sql);

    //binds the current id value from the post array
    $stmt->bindParam(':id', $_POST['id'][$i], PDO::PARAM_INT);
    $stmt->bindParam(':qty', $_POST['qty'][$i], PDO::PARAM_INT);

    $stmt->execute();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM