小弟最近在寫訂餐系統以下是參考php課本寫出來的訂餐系統
訂餐表單:
<p></p>
<!--1.和風鮮蔬咖哩飯-->
<p>
1.和風鮮蔬咖哩飯
</p>
<p>
<img src="images/10.jpg"border="1">
</p>
<p>
和風鮮蔬咖哩飯數量:<select name ="Quantity[和風鮮蔬咖哩飯]">
</p>
<p>
<?php
for($i=0;$i<=10;$i++)
$optionStr .="<option>$i</option>\n";
echo $optionStr
?>
</select>
<!--2.Q嫩雞米花-->
<p>
2.Q嫩雞米花
</p>
<p>
<img src="images/11.jpg"border="1">
</p>
<p>
Q嫩雞米花數量:<select name ="Quantity[Q嫩雞米花]">
</p>
<p>
<?php echo $optionStr ?>
</select>
</p>
<!--3.脆嫩肥腸-->
<p>
3.脆嫩肥腸
</p>
<p>
<img src="images/12.jpg"border="1">
</p>
<p>
脆嫩肥腸數量:<select name ="Quantity[脆嫩肥腸]">
</p>
<p>
<?php echo $optionStr ?>
</select>
</p>
<!--4.鮭香茶泡飯-->
<p>
4.鮭香茶泡飯
</p>
<p>
<img src="images/13.jpg"border="1">
</p>
<p>
鮭香茶泡飯數量:<select name ="Quantity[鮭香茶泡飯]">
</p>
<p>
<?php echo $optionStr ?>
</select>
</p>
<!--5.味付海苔飯-->
<p>
5.味付海苔飯
</p>
<p>
<img src="images/14.jpg"border="1">
</p>
<p>
味付海苔飯數量:<select name ="Quantity[味付海苔飯]">
</p>
<p>
<?php echo $optionStr ?>
</select>
</p>
<!--按鈕 "確認訂餐" And "取消訂餐" -->
<p align=center>
<input value="確認訂餐" type="submit">
<input value="取消訂餐" type="reset">
</p>
==============================================================================================
處理訂單到appsever的表單:
<?php session_start(); ?>
<?php
header('content-type: text/html; charset=utf-8');
$username = $_POST['username'];
$telephone = $_POST['telephone'];
// $arr 陣列以產品名稱為索引, 價格為元素值
$arr = array('和風鮮蔬咖哩飯'=>99,
'Q嫩雞米花'=>69,
'脆嫩肥腸'=>129,
'鮭香茶泡飯'=>99,
'味付海苔飯'=>99 );
// 檢查 $_POST['Quantity'] 是否為 null, 若是, 表示使用者不是由飲料訂
// 購網頁 (Ch04-17.php) 進入此網頁的, 此時即顯示飲料訂購網頁的連結,
// 並用 exit() 結束程式 (詳見 5-8 節), 不做後續的表單處理
if($_POST['Quantity'] === null) {
echo "請先進入<a href='index2.php'>點餐網頁</a>。";
exit(); // 結束程式
}
// 使用 foreach 迴圈處理 $_POST['Quantity'] 中的每一個元素,
// 其中先檢查訂購杯數是否為零, 不是零即產生梢後要輸出的
// 訊息字串、計算總價、總杯數。
foreach($_POST['Quantity'] as $name => $cup){
if($cup!=0) { // 如果所點的杯數不是零才做處理
$str .= $name . " $cup 份<br />"; // 串接訊息字串
$sum += $cup * $arr[$name]; // 累加總價
$totalCup += $cup; // 累加總杯數
}
}
// 檢查若杯數為 0, 表示使用者未選購即送出表單, 此時僅顯示相關訊息;
// 若杯數不為 0, 即輸出剛才建立的訊息字串、計算總價、總杯數等值。
if ($totalCup == 0) {
echo '親愛的顧客, 您未選購任何產品!';
echo "請回點餐網頁重新點餐。";
echo '<meta http-equiv=REFRESH CONTENT=2;url=index2.php>';
exit(); // 結束程式
}
else {
echo'點餐成功!! <br />';
echo "帳號: $username <br />";
echo "電話: $telephone <br />";
echo '點餐資料如下!!<br />';
echo $str;
echo "總共 $totalCup 份<br />";
echo "總計 $sum 元(台幣)<br />";
echo '如果您有點餐錯誤或想更改,請打以下電話來聯絡我們!!<br />';
echo '(02)123-456<br />';
echo '如果有要更改點餐,限點餐時間前30分鐘更改,過期則無法更改,感謝您的配合!!<br />';
echo '此外點餐金額超過1000元(含)以上,請先來店付訂金,如果無先付訂金,則視同點餐無效,感謝您的配合!!<br />';
}
?>
<?php
include_once("mysql_connect.inc.php");
$username = $_POST['username'];
$telephone = $_POST['telephone'];
$Quantity = $_POST['Quantity'];
//新增資料進資料庫語法
$sql = "insert into menu (username,telephone,str,sum) values ('$username','$telephone','$str','$sum')";
if(mysql_query($sql))
{
echo '<a href="index2.php">回到首頁</a> <br />';
}
else
{
echo '點餐失敗!';
echo '<meta http-equiv=REFRESH CONTENT=2;url=index2.php>';
}
?>
==============================================================================================
問題:
目前課本教我的資料表存取方式:
欄位名稱:username(帳號),telephone(電話),str(訂餐資料都放在這邊),sum(總計)
我想把資料表格式改成這樣來存取:
欄位名稱:username(帳號),telephone(電話),a1(和風鮮蔬咖哩飯),a2(Q嫩雞米),a3(脆嫩肥腸),a4(鮭香茶泡飯),a5(味付海苔飯),sum(總計)
然後我是想在a1(和風鮮蔬咖哩飯),a2(Q嫩雞米),a3(脆嫩肥腸),a4(鮭香茶泡飯),a5(味付海苔飯)裡面放訂餐的數量
那請問要如何改寫呢@@? 請好心的大大指導小弟一下 謝謝!!