将用户输入作为数组并逐个分发

时间:2015-05-15 23:50:44

标签: php

我正在开发一个可以让用户购买东西的网站。如果用户一次购买许多物品,就会出现问题。

例如: 用户A购买了数量为2的第1项 用户B购买了数量为1的第2项

我希望显示确认页面:

You have bought 
Item 1, quantity: 2
Item 2, quantity: 1

问题是我无法找到如何根据所选项目获取每个数量。我只能像这样直接显示

You have bought
Item 1, quantity: 2 quantity 1
Item 2, quantity: 2 quantity 1

这是我的用户输入表单

echo "<input type=\"text\" hidden name=\"cart[]\" id=\"itemIDValue\" value=\" ".$itemID ."\"/>";
echo "<input type=\"text\" hidden name=\"qty[]\" value=\"".$itemQty."\">";

这是我的PHP代码

$sql = "this will get all the data from database";
$result = mysqli_query($connection, $sql);

            while ($row = mysqli_fetch_array($result)){

                  echo"<p> Brand : " . $row[4] . " </p>
                       <p> Name : " . $row[3] ."</p>";
            }

基本上我可以正确获取商品名称和品牌,但我无法正确获取该特定商品的数量。

我尝试使用foreach循环

 while ($row = mysqli_fetch_array($result)){

             foreach($qty as $a => $value){
                  echo"<p> Brand : " . $row[0] . " </p>
                       <p> Name : " . $row[1] ."</p>
                       <p> Qty : " . $value . "</p>";
            }
 }

foreach循环会给我我想要的东西,但现在的问题是,如果用户购买了2个项目,数据输出将重复,因此将有4个项目(2个项目x2)

是的,有人可以帮帮我吗?任何帮助都非常感谢。感谢

1 个答案:

答案 0 :(得分:0)

这是适合您的问题, 已经回答了这个问题(dublicate):

$_POST Array from html form

while ($row = mysqli_fetch_array($result)){
    // that's what you need:
    $qty=$_POST['qty'];

    foreach($qty as $a => $value){
         echo"<p> Brand : " . $row[0] . " </p>
              <p> Name : " . $row[1] ."</p>
              <p> Qty : " . $value . "</p>";
    }
}