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一些服务器端特性的配置加强php的安全
Oct 09 PHP
建立动态的WML站点(二)
Oct 09 PHP
生成sessionid和随机密码的例子
Oct 09 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
php获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
php设计模式 Facade(外观模式)
Jun 26 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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/06/23 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
prototype1.4中文手册
2006/09/22 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
原生js实现分页效果
2020/09/23 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python itertools模块详解
2015/05/09 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
Python数据库小程序源代码
2019/09/15 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
学校经典推荐信
2013/10/30 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
先进员工获奖感言
2014/08/14 职场文书
初级党校心得体会
2014/09/11 职场文书
员工保密协议书
2014/09/27 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers