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实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
简单的php缓存类分享     php缓存机制
Jan 22 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
php模拟post提交数据的方法
Feb 12 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
php使用socket调用http和smtp协议实例小结
Jul 26 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 PHP
PHP7新增函数
Mar 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
一周学会PHP(视频)Http下载
2006/12/12 PHP
php 结果集的分页实现代码
2009/03/10 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
php的大小写敏感问题整理
2011/12/29 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
JavaScript基本对象
2007/01/11 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
pymongo insert_many 批量插入的实例
2020/12/05 Python
python中xlrd模块的使用详解
2021/02/01 Python
高山背包:High Sierra
2017/11/23 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
数据库的约束含义
2012/09/09 面试题
《明天,我们毕业》教学反思
2014/04/24 职场文书
完美的中文自荐信
2014/05/24 职场文书
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python