如果添加了更多项目,则使用foreach循环

时间:2016-07-28 15:50:31

标签: php html mysql

所以我的页面上有一段名为 menu.php 的代码。它显示了我的数据库中的所有产品,用户可以选择要订购的产品。

$p=$_POST['id'];
$order_query=mysqli_query($con, "SELECT * FROM tblproducts WHERE p_pid=$p");
$num_rows_order=mysqli_num_rows($order_query);

while($fetch=mysqli_fetch_assoc($order_query))
{
    $ppid=$fetch['p_pid'];
    $pname=$fetch['p_name'];
    $pprice=$fetch['p_price'];
}

foreach ($order_query as $p) {
echo "<form class='form-horizontal' action='' method='POST'>
<fieldset>
<legend>Place Order</legend>
<table class='table table-striped table-hover'>
<thead>
<tr class='success'>
  <th>Name</th>
  <th>Price</th>
  <th>Quantity</th>
</tr>
</thead>
<tbody>
<tr class='active'>
  <td>$pname</td>
  <td>₱$pprice /each</td>
  <td><div class='form-group'>
  <div class='col-lg-4'>
    <input class='form-control' name='inputquant' value='1' type='number'>
</div>
</div></td>
</tr>
</tbody>
</table>";
}
    ?>

<div class="form-group">
  <div class="col-lg-10 col-lg-offset-2">
    <button type="submit" name="btnaddorder" class="btn btn-primary">Add More Order</button>
  </div>
       </div>

当用户选择了哪一个订购时,他可以立即点击立即订单按钮,现在将重定向到 order.php 页面。

在我的order.php页面中,它通过menu.php上的id使用 $ _ POST 确定它所选择的产品表。

{{1}}

正如您在 foreach和php 之外看到的那样,添加更多订单按钮,用户可以选择是否要添加更多订单按钮产品。我试图做的是当他点击按钮时,它会再次被重定向到菜单,如果他选择另一个产品添加到他的购物车上,它将被列在页面上。但是当我这样做时,它所做的就是用新的值替换旧值,点击添加更多产品。就像是; “首先,我点了一份比萨饼,然后决定加一个玉米片。订单页面显示了玉米片并覆盖披萨而不是同时显示它们。&#39;我一直坚持这个问题,现在决定在这里问。如果有人可以帮助我,那将是非常好的。提前谢谢!

1 个答案:

答案 0 :(得分:1)

<强> order.php

//make sure session is started
$p = $_POST['id'];

//store id's as an array
$_SESSION['id'][] = $p;

//use ',' to combine id's
$p = implode(',', $_SESSION['id']);

//MySQL IN Clause
$order_query=mysqli_query($con, "SELECT * FROM tblproducts WHERE p_pid IN ($p)");
$num_rows_order=mysqli_num_rows($order_query);