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实现的获取URL信息的类
Jan 02 PHP
PHP源码之explode使用说明
Aug 05 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 09 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
YII中assets的使用示例
2014/07/31 PHP
php广告加载类用法实例
2014/09/23 PHP
PHP常用处理静态操作类
2015/04/03 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
jQuery 1.0.2
2006/10/11 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
Python中的CURL PycURL使用例子
2014/06/01 Python
Python最长公共子串算法实例
2015/03/07 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
详解python分布式进程
2018/10/08 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
对python中Json与object转化的方法详解
2018/12/31 Python
python异步存储数据详解
2019/03/19 Python
python实现电子书翻页小程序
2019/07/23 Python
Python定义函数实现累计求和操作
2020/05/03 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
运动会800米加油稿
2014/02/22 职场文书
回复函格式及范文
2015/07/14 职场文书
如何撰写创业策划书
2019/06/27 职场文书
Python实现单例模式的5种方法
2021/06/15 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers