例子---PHP与Form表单之三

上一篇我们说了使用单选框点菜,本人前思后想略有不妥啊,总感觉剁完手的你们应该补一下,光吃一道菜是不够的,对不对?所以我们还是来说一下正常的餐厅的点菜模式多选checkbox吧,毕竟剁手党需要补补,餐厅也需要赚钱啊,哈哈哈~我就快要编不下去了,噗噗噗~拉我起来,我还能继续胡说八道,诱导大家一起入编程的坑……
在说复选框点菜之前我们先来说一下,PHP中的时间函数,date()。大家可能说,这还有啥好说的,那我不管了,就要说就要说就要说,并且立刻马上开说:

在PHP中,date的参数,需要多加注意一下,其实也很简单,区分一下大小写代表的意思即可:
年:Y四位数的年份,y两位数的年份
月:M英文简写三字母的月份,m有前导零的月份,n没有前导零的月份
日:
    月份中的第几天:d有前导零,j没有前导零
    星期中的第几天:D英文简写三字母
时:
    24制:H有前导零,G无前导零
    12制:h有前导零,g无前导零
分:i有前导零的分钟
秒:s有前导零的秒钟
周:W获取的是年中的第几周,w获取的是当前是周几

对于时间date这个函数,我们最常用的是:
    echo date("Y-m-d H:i:s");//2017-11-11 11:11:25(我的妈呀,好多1啊,我这个点选的不好啊)

最后关于时间date需要说的是,这样设置时间是有时区差的,所以需要改变时区,去XAMPP文件夹里去找etc文件夹里的php.ini文件,修改即可

好了,说完时间函数date()了,我可以放心的说选多个菜,并且存储到后态文件了,开始选菜。
选多个菜跟选单个菜差不多,稍稍有点差别而已,类似的情况,不再做详细赘述哦,看不明白的可以去上一篇博文 实现详解 里面去看详解,开始上代码~

<?php
    $menu = array("0"=>array("红烧肉","25"),"1"=>array("烤鸡","28"),"2"=>array("鲍鱼","98"),"3"=>array("青菜汤","15"),"4"=>array("炖猪蹄","30"),"5"=>array("红烧排骨","35"));

    $caiArr = $_POST["key"];
    if(!empty($_POST)){
        $caiA = array();//菜品
        $num = array();//数量
        $price = array();//价格
        foreach($caiArr as $k => $v){
            //菜品
            $Selected = $menu[$v][0];
            $caiA[] = $Selected;
            //数量
            $amount_key = "amount_".$_POST['key'][$k];
            $amount = $_POST[$amount_key];
            $num[] = $amount;
            //价格
            $pri = $menu[$v][1];
            $price[] = $pri;
        }
        $str = implode("、",$caiA);//菜品
        $str1 = implode("、",$num);//数量
        $zj = 0;//总价
        foreach($price as $key => $val){
            $zj += $price[$key]*$num[$key];
        };
        //周一到周五都有促销活动
        //判读当前是周几
        $da = date("w");
        switch($da){
            case 1:
                $zk = 0.1;
                break;
            case 2:
                $zk = 0.2;
                break;
            case 3:
                $zk = 0.3;
                break;
            case 4:
                $zk = 0.4;
                break;
            case 5:
                $zk = 0.5;
                break;
            default$zk = 0.6;
        }
        $total = $zj*$zk;//打完折扣的总价

        $fp = fopen("menu2.txt","a+");
        $line = "客人选的菜有$str,分别是$str1 份,折后为$total 元"."\n";
        fwrite($fp,$line);
        fclose($fp);
    }
?>

<form action="" method="post">
    <?php
        foreach($menu as $key => $val){
    ?>
        <input type="checkbox" name="key[]" value="<?=$key?>" /><?=$val[0]?><?=$val[1]?>元 订餐份数<input type="text" name="amount_<?=$key?>" /><br/>
    <?php
        }
    ?>
    <br/>
    <input type="submit" value="订餐"/>
</form>

以上代码,最最需要注意的点就是radio与checkbox提交数据的区别,单选框提交的是单个数据,复选框可以同时提交多个数据,所以我们需要在复选框的name属性值上加上方括号[ ],以表示我们上传的是一个数组,并不是单个的元素。
好嘞,看看点菜界面吧~
这里写图片描述

看看,我们都点了哪些菜呢~

这里写图片描述

时间过得好快啊,转眼一上午就过去了,到了该吃午饭的时候咯,收拾收拾吃饭去喽,啦啦啦~小伙们午餐愉快!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值