PHP处理大量表单字段的便捷方法


Posted in PHP onFebruary 07, 2015

关于程序开发中的表单批量提交策略
很多时候一个表单太多的字段,如何能够高效获取表单字段,也为如何提神开发的效率和统一性?

比如一个系统的某个有26个字段,那么我用表单的名称用26个a到z的字母,

你是选择 <input type="text" name="a">,<input type="text" name="a">,……,<input type="text" name="z">的传统形式来做吗?

但是这种情况下如果做批量数据插入就不会有那么简洁了,
因为插入或者编辑操作会是这样的语句:特别是这样长得蛋疼的SQL字符串更悲催。

$sql="INSERT kele_table(a,b,……,z) value(a='$a',b='$b',……,z='$z')";//这样写很长铁牛用省略号标示

$sql="UPDATE SET kele_table(a='$a',b='$b',……,z='$z') where id=$id";

这样子写的话挺折腾的,字符串太长

用下面一种方法更好:
要点1:对整个提交的表单字段使用数组模式。

<input type="text" name="setting[a]">,……,<input type="text" name="setting[z]">

要点2:

PHP后台程序通过POST接收$setting数组

要点3:

插入表单字段展示

$fields=array('a','b',……,'z');//这个是特意设置校验字典,校验提交的字段是否存在

foreach($setting as $k=>$v) {

            if(in_array($k, $fields)) { $sqlk .= ','.$k; $sqlv .= ",'$v'"; }

        }

        $sqlk = substr($sqlk, 1);

        $sqlv = substr($sqlv, 1);

    $sql="INSERT INTO kele_table ($sqlk) VALUES ($sqlv)";

更新表单字段展示

$sql = '';

        foreach($setting as $k=>$v) {

            if(in_array($k, $fields)) $sql .= ",$k='$v'";

        }

 $sql = substr($sql, 1);

 $sql="UPDATE kele_table SET $sql WHERE id=$id";
PHP 相关文章推荐
Php+SqlServer实现分页显示
Oct 09 PHP
php 显示指定路径下的图片
Oct 29 PHP
一个典型的PHP分页实例代码分享
Jul 28 PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 PHP
通过php添加xml文档内容的方法
Jan 23 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
PHP implode()函数用法讲解
Mar 08 PHP
PHP生成压缩文件实例
Feb 07 #PHP
PHP实现股票趋势图和柱形图
Feb 07 #PHP
PHP中的闭包(匿名函数)浅析
Feb 07 #PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 #PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 #PHP
迁移PHP版本到PHP7
Feb 06 #PHP
php include类文件超时问题处理
Feb 06 #PHP
You might like
php生成圆角图片的方法
2015/04/07 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
numpy数组拼接简单示例
2017/12/15 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
后进生转化工作制度
2014/01/17 职场文书
新护士岗前培训制度
2014/02/02 职场文书
小学语文教学反思
2014/02/10 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
保证书范文大全
2014/04/28 职场文书
个人债务授权委托书
2014/10/17 职场文书
活动费用申请报告
2015/05/15 职场文书
教师工作证明范本
2015/06/12 职场文书
圣诞晚会主持词
2015/07/01 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript