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中的正规表达式(二)
Oct 09 PHP
php session应用实例 登录验证
Mar 16 PHP
PHP STRING 陷阱原理说明
Jul 24 PHP
php生成随机密码的三种方法小结
Sep 04 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
php获取文件大小的方法
Feb 26 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
Laravel 5框架学习之表单
Apr 08 PHP
php基本函数汇总
Jul 09 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 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的大小写敏感问题整理
2011/12/29 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
python迭代器与生成器详解
2016/03/10 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
C#公司笔试题
2014/03/28 面试题
求职简历自荐信范文
2013/10/21 职场文书
银行优秀员工事迹
2014/02/06 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
绩效管理实施方案
2014/03/19 职场文书
学生安全责任书
2014/04/15 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
有关环保的标语
2014/06/13 职场文书
委托书英文
2015/01/28 职场文书
《搭石》教学反思
2016/02/18 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
CentOS安装Nginx并部署vue
2022/04/12 Servers