热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

例子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()了,我可以放心的说选多个菜,并且存储到后态文件了,开始选菜。
选多个菜跟选单个菜差不多,稍稍有点差别而已,类似的情况,不再做详细赘述哦,看不明白的可以去上一篇博文 实现详解 里面去看详解,开始上代码~

$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);}
?>""
method="post">foreach($menu as $key => $val){?>"checkbox" name="key[]" value="" />=$val[0]?>=$val[1]?>元 订餐份数"text" name="amount_" />
}?>
"submit"
value="订餐"/>

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

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

这里写图片描述

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


推荐阅读
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了一种解析GRE报文长度的方法,通过分析GRE报文头中的标志位来计算报文长度。具体实现步骤包括获取GRE报文头指针、提取标志位、计算报文长度等。该方法可以帮助用户准确地获取GRE报文的长度信息。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
author-avatar
mobiledu2502925077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有