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 论坛采集程序 模拟登陆,抓取页面 实现代码
Jul 09 PHP
PHP 数组遍历顺序理解
Sep 09 PHP
PHP计数器的实现代码
Jun 08 PHP
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
Jul 01 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
PHP的几个常用加密函数
Feb 03 PHP
php 多文件上传的实现实例
Oct 23 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
PHP实现防止表单重复提交功能【基于token验证】
May 24 PHP
PHP hex2bin()函数用法讲解
Feb 25 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中的Cannot modify header information 问题
2013/08/12 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
javascript 特殊字符串
2009/02/25 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
python学习数据结构实例代码
2015/05/11 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
python 实现矩阵填充0的例子
2019/11/29 Python
python GUI计算器的实现
2020/10/09 Python
python xlsxwriter模块的使用
2020/12/24 Python
Python 实现进度条的六种方式
2021/01/06 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
简历的自荐信
2013/12/19 职场文书
建筑工程毕业生自我鉴定
2014/01/14 职场文书
家长给孩子的评语
2014/01/30 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
起诉状范本
2015/05/20 职场文书
父亲去世追悼词
2015/06/23 职场文书
草房子读书笔记
2015/06/29 职场文书
员工规章制度范本
2015/08/07 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书