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中header和session_start前不能有输出原因分析
Jan 11 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
php结合curl实现多线程抓取
Jul 09 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
PHP解压tar.gz格式文件的方法
Feb 14 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
paypal即时到账php实现代码
2010/11/28 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
强制设为首页代码
2006/06/19 Javascript
推荐dojo学习笔记
2007/03/24 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
详解React中setState回调函数
2018/06/14 Javascript
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
flask实现验证码并验证功能
2019/12/05 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
Python sorted排序方法如何实现
2020/03/31 Python
python基于win32api实现键盘输入
2020/12/09 Python
Python Selenium库的基本使用教程
2021/01/04 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
html5唤醒APP小记
2019/03/27 HTML / CSS
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
会计专业的自荐信
2013/12/12 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
节能环保口号
2014/06/12 职场文书
2015年推普周活动方案
2015/05/06 职场文书
倡议书怎么写?
2019/04/11 职场文书