Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,当订购多个项目时,如何将这些项目的数量减少1?_Php_Android_Mysql - Fatal编程技术网

在PHP中,当订购多个项目时,如何将这些项目的数量减少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(

这是我使用的代码;问题是只有1项 数量可以一次递减;不能输入多个项目数量 减少

 <?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."%'");