PHP进阶之表单

2017-11-09

在学习了文件之后,我们就可以对表单进行简单的处理了,例如从后台数据库中,获取一段数据输出到前端,而数据就是后台的数组里的数据,例如下面这个例子,菜单的处理。🤗😄

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$menu=array();
$menu[]=("红烧肉",20);
$menu[]=("烤鸡",10);
$menu[]=("鲍鱼",22);
$menu[]=("青菜汤",24);
if(!empty($_POST)){
$select=$menu[$_POST["key"]][0];
$amount_key="amount_".$_POST["key"];
$amount=$_POST[$amount_key];
$price=$amount*$menu[$_POST["key"]][1];
recordFile($select,$amount,$price);
echo "您选择的是:".$select.","."共".$amount."件"."总价"."¥".$price;
}
//定义一个函数来记录生成得到订单文件
function recordFile($select,$amount,$price){//形参可以自定义
$fp=fopen("menu.txt","a+");
fwrite($fp,$select." "."总共".$amount."件"." "."总价为¥".$price."\n");
fclose($fp);
}
?>
//html代码
<form action="" method="post">
<div>大饭店菜单</div>
<?php
foreach($menu as $key => $val){
?>
<div><?=$val[0]?><input type="radio" name="key" value="<?=$key?>">¥<?=$val[1]?>份数为:<input type="text" name="amount_<?=$key?>"></div>
<?php } ?>
</form>

下面是复选框选择菜时的数据变动。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
$menu=array();
$menu=array();
$menu[]=("红烧肉",20);
$menu[]=("烤鸡",10);
$menu[]=("鲍鱼",22);
$menu[]=("青菜汤",24);
if(!empty($_POST)){
$indexArr=$_POST["menu"];//数组
$amountArr=$_POST["amount"];//数组
$line="您选择的有:";
foreach($indexArr as $key => $val){
$line.=$menu[$val][0]." ";
$week=date("w");//判断是周几,打不同的折扣
switch($week){
case 1:
$discount=0.1;
break;
case 2:
$discount=0.2;
break;
case 3:
$discount=0.3;
break;
case 4:
$discount=0.4;
break;
default:
$discount=0.5;
break;
}
$count+=$amountArr[$val];
$price+=$amountArr[$val]*$menu[$val][1];
echo $menu[$val][0]."共".$amountArr[$val]."件"."总价为".$amountArr[$val]*$menu[$val][1];
}
echo $line.",一共".$count."件,"."总价为"."¥".$price*$discount;
}
?>
//html代码
<form method="post" action="">
<div>大饭店菜单</div>
<?php
foreach($menu as $key => $val){
?>
<div>
<?=$val[0]?><input type="checkbox" name="menu[]" value="<?=$key?>"> ¥<?=$val[1]?>份数为:<input type="text" name="amount[]">
</div>
<?php } ?>
<input type="submit" name="submit" value="提交">
</form>