在PHP中,当订购多个项目时,如何将这些项目的数量减少1?
这是我使用的代码;问题是只有1项 数量可以一次递减;不能输入多个项目数量 减少在PHP中,当订购多个项目时,如何将这些项目的数量减少1?,php,android,mysql,Php,Android,Mysql,这是我使用的代码;问题是只有1项 数量可以一次递减;不能输入多个项目数量 减少 <?php $dbhost = "localhost"; $dbuser = "root"; $dbpass = ""; $dbdb = "yumyum"; $connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("connection error"); mysql_select_db(
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbdb = "yumyum";
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("connection error");
mysql_select_db($dbdb) or die("database selection error");
$id = $_POST['id'];
$query1=mysql_query("SELECT Quantity,id FROM `yumyum`.`food` where `food`.`id` LIKE $id");
$rows = array();
while($r = mysql_fetch_assoc($query1)) {
$output = $r['Quantity'];
echo $output;
$query2=mysql_query("UPDATE food SET Quantity = Quantity - 1 where `food`.`id` LIKE ".$r["id"]);
}
?>
你能试试这个吗
$query2 = mysql_query("UPDATE food SET Quantity = Quantity - 1 where `food`.`id` = '".$r["id"]."' ");
或
因为它在$id=$\u POST['id']之后一次发送一个id 您只需执行以下操作:
mysql_query("UPDATE food SET Quantity = Quantity - 1 where `food`.`id` = $id");
并删除它下面的所有其他行。在记录查询后检查记录的编号。例如,对于您的代码
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbdb = "yumyum";
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("connection error");
mysql_select_db($dbdb) or die("database selection error");
$id = $_POST['id'];
$query1=mysql_query("SELECT Quantity,id FROM `yumyum`.`food` where `food`.`id` LIKE $id");
echo mysql_num_rows($query1); // this will show you count of records by above select query make sure you have more than one item count to update multiple record.
$rows = array();
while($r = mysql_fetch_assoc($query1)) {
$output = $r['Quantity'];
echo $output;
$query2=mysql_query("UPDATE food SET Quantity = Quantity - 1 where `food`.`id` LIKE ".$r["id"]);
}
?>
根据你的数据库结构尝试使用通配符。@Loz Cherone你能帮忙吗me@AndreiNicusan你能帮忙吗?你的语句的问题是IN子句的SELECT只能有1个字段。因此,将$subQuery select更改为select id FROM…@Qambar Raza没有说任何东西它不会更新多个项目的数量如果您的id是整数,我认为我们应该使用它作为子查询select id FROM yumyum.food`where food.id=$id`我如何相应地更改此部分?而$r=mysql\u fetch\u assoc$query1{$output=$r['Quantity'];//将返回的数据编码为JSON格式echo$output;$query2=mysql\u queryUPDATE food SET Quantity=Quantity-1 where food.id LIKE.$r[id]@QambarRaza有任何mor建议吗?您在输出中得到了多少?在打印mysql_num_行时,如果您可以粘贴它们,则很容易解决问题。注意:第1行的C:\wamp\www\yumyum\reserve.php中未定义的索引:id警告:mysql_num_行希望参数1是资源,第15行的C:\wamp\www\yumyum\reserve.php中给出的空值我已更新了我的co有一个拼写错误,请现在尝试…并分享结果
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbdb = "yumyum";
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("connection error");
mysql_select_db($dbdb) or die("database selection error");
$id = $_POST['id'];
$query1=mysql_query("SELECT Quantity,id FROM `yumyum`.`food` where `food`.`id` LIKE $id");
echo mysql_num_rows($query1); // this will show you count of records by above select query make sure you have more than one item count to update multiple record.
$rows = array();
while($r = mysql_fetch_assoc($query1)) {
$output = $r['Quantity'];
echo $output;
$query2=mysql_query("UPDATE food SET Quantity = Quantity - 1 where `food`.`id` LIKE ".$r["id"]);
}
?>
$query1 = mysql_query("SELECT Quantity,id FROM `yumyum`.`food` where `food`.`id` LIKE '%".$id."%'");