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
mysql时区问题
Mar 26 PHP
php实现jQuery扩展函数
Oct 30 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
php中动态修改ini配置
Oct 14 PHP
初识Laravel
Oct 30 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
php身份证号码检查类实例
Jun 18 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 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实时显示输出
2008/10/02 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
Javascript之文件操作
2007/03/07 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
keras 多gpu并行运行案例
2020/06/10 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
质检部岗位职责
2013/11/11 职场文书
生产副总岗位职责
2013/11/28 职场文书
英文请假条
2014/04/11 职场文书
大学生学雷锋活动总结
2014/06/26 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
房产协议书范本
2014/10/18 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
大学生求职自荐信
2015/03/24 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
python爬虫--selenium模块
2021/03/31 Python