所以我在我的頁面上有這段代碼menu.php。它顯示我數據庫內的所有產品,用戶可以選擇訂購哪一種產品。使用foreach循環,如果有更多的項目添加
$prod_query=mysqli_query($con,"SELECT * FROM tblproducts");
$num_rows_prod=mysqli_num_rows($prod_query);
echo "<div class='row'>";
while($fetch=mysqli_fetch_assoc($prod_query))
{
$ppid=$fetch['p_pid'];
$pname=$fetch['p_name'];
$pprice=$fetch['p_price'];
$pimg='<img src="data:image/jpeg;base64,'. base64_encode($fetch['p_image']). '" width="100%" height="280">';
echo "
<form method='post' action='order.php'>
<div class='col-lg-4'>
<div class='panel panel-primary'>
<div class='panel-heading'>
<h3 class='panel-title'>$pname | ₱$pprice</h3>
</div>
<div class='panel-body'>
$pimg<hr />
<input type='hidden' name='id' value='$ppid'>
<button class='btn btn-primary' name='btnaddcart' type='submit'>Order Now!</button>
</div>
</div>
</div>
</form> ";
}
echo "</div>";
當用戶選擇訂購哪一個,他現在可以點擊訂購按鈕現在,現在會重定向到order.php頁。
而在我的order.php頁面中,它顯示了他通過使用$ _POST來確定它所選擇的產品的表格,其ID爲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>
,你可以在的foreach和PHP看到外面有一個添加更多的命令按鈕,在那裏,如果他/她想要添加更多的產品,用戶可以選擇。我想要做的是當他點擊按鈕時,它會再次被重定向到菜單,如果他選擇另一個產品添加到他的購物車上,它將被列在頁面上。但是當我這樣做的時候,它所做的只是通過單擊添加更多產品來替換舊值。就像是; '首先我點了一份披薩,然後決定添加一顆玉米片。訂單頁面顯示玉米片和覆蓋披薩,而不是顯示他們兩個。我一直在困擾這個問題一段時間,並決定現在就問這裏。如果有人能幫助我,這將是非常好的。提前致謝!
你的問題有許多解決方案。將用戶選擇的產品存儲在數據庫中,存儲在'$ _SESSION'中。這取決於你自己決定。 –
@u_mulder您認爲最簡單或首選的解決方案最好嗎?因爲當我使用會話時,它只保存一個產品。在數據庫上時,我不知道如何去做。 – Sync
沒有最佳解決方案。如果你不能在會話中存儲某些內容 - 你顯然會這樣做__wrong__,並可以提出另一個問題。 –