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如何解决网站大流量与高并发的问题
Jun 25 PHP
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
关于尾递归的使用详解
May 02 PHP
PHP设置一边执行一边输出结果的代码
Sep 30 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
js实现简单的验证码
2015/12/25 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
vue项目创建步骤及路由router
2020/01/14 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
Python WSGI的深入理解
2018/08/01 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
Python多线程多进程实例对比解析
2020/03/12 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
食品销售计划书
2014/04/26 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
国企干部对照检查材料
2014/08/22 职场文书