[英]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.