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正则走开
Mar 15 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
教你如何使用php session
Oct 28 PHP
php下载文件源代码(强制任意文件格式下载)
May 09 PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 PHP
Symfony控制层深入详解
Mar 17 PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
Js组件的一些写法
2010/09/10 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
python高阶爬虫实战分析
2018/07/29 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
python实现最短路径的实例方法
2020/07/19 Python
Pycharm github配置实现过程图解
2020/10/13 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
某科技软件测试面试题
2013/05/19 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
项目资料员岗位职责
2013/12/10 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
大学生就业意向书
2015/05/11 职场文书
遗嘱范文
2015/08/07 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书