]" value=""/> 在我的 php 代码中: $id = $_POST['m_id']; $qty = $_POST['qty']-6ren">
gpt4 book ai didi

php - 在mysql中选择一个匹配id数组的数组并计算

转载 作者:行者123 更新时间:2023-11-30 00:33:16 25 4
gpt4 key购买 nike

我有来自表单文本框的发布值示例:

<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();
}

关于php - 在mysql中选择一个匹配id数组的数组并计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22363004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com