2011-12-09 83 views
0

我試圖在PHP中創建一個結帳頁面。列出項目的頁面被稱爲shop.php。在此頁面上,我會在每個項目旁邊顯示一個數字項目,並附帶一個複選框。我從數據庫中提取項目名稱和價格信息。這是我的主要代碼。PHP複選框值

$row = mysql_fetch_array($query); 
while($row) { 
    echo "<TR>"; 
    echo "<TD><B>$row[Name] </B></TD>"; 
    echo "<TD><B>"."$"."$row[Price] </B></TD>"; 
    echo "<TD><input type=checkbox name=foods[] value='$row[Price]' /></TD>"; 
     echo "</TR>"; 
$row = mysql_fetch_array($query); 
} 

<input type="submit" name="buy" value="Buy Now" /> 

因此,我將複選框的名稱設置爲[],這將是包含提交的所有複選框值的數組。當用戶點擊「立即購買」按鈕時,他們將被重新定義到cart.php頁面,該頁面將顯示他們購買的商品的名稱和價格。我知道我可以通過循環$ items數組來輸出價格。我的問題是,我不明白我將如何顯示項目名稱。我thoght執行以下操作:

$row = mysql_fetch_array($query); 
while($row) { 
    echo "<TR>"; 
    echo "<TD><B>$row[Name] </B></TD>"; 
    echo "<TD><B>"."$"."$row[Price] </B></TD>"; 
    echo "<TD><input type=checkbox name='$row[Name]' value='$row[Price]' /></TD>"; 
    echo "</TR>"; 
$row = mysql_fetch_array($query); 
} 

這一次,雙方的名稱和商品的價格都包含在複選框正如它的名字和值。但是,問題是,我將如何在cart.php頁面上顯示它們而不用硬編碼。我的意思是,我怎麼會顯示的項目名稱和它的價格沒有做這樣的事情:(假設項目名稱之一是漢堡這是填充作爲複選框的名稱)

if (isset($_POST['Burger'])){ 
echo "<td>$_POST['Burger']</td>"; 
} 

我很感謝在這個問題上的任何建議/提示。謝謝。

回答

1

如果你喜歡的名字的複選框:

<input type='checkbox' name='foods[{$row['Name']}]' value='{$row['Price']}' /> 

您可以訪問陣列$ _ POST [「食品」]和鍵/值將名稱/價格。所以你可以這樣做:

foreach($_POST['foods'] as $name => $price) { 
    echo "<tr><td>$name</td><td>$price</td></tr>"; 
} 
+0

非常感謝。這正是我所期待的。我感謝您的幫助。 – user1013264

1

將每個複選框的名稱設置爲食物[$ row [name]]。您應該有以下代碼:

$row = mysql_fetch_array($query); 
while($row) { 
    echo "<TR>"; 
    echo "<TD><B>$row[Name] </B></TD>"; 
    echo "<TD><B>"."$"."$row[Price] </B></TD>"; 
    echo "<TD><input type=checkbox name='foods[{$row[Name]}]' value='$row[Price]' /></TD>"; 
     echo "</TR>"; 
$row = mysql_fetch_array($query); 
} 

<input type="submit" name="buy" value="Buy Now" /> 

在POST上,您將擁有相關的項目名稱和價格數組。