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 相关文章推荐
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
PHPMailer安装方法及简单实例
Nov 25 PHP
PHP字符串 ==比较运算符的副作用
Oct 21 PHP
php生成扇形比例图实例
Nov 06 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
学习php设计模式 php实现命令模式(command)
Dec 08 PHP
php关闭warning问题的解决方法
May 17 PHP
php字符串操作常见问题小结
Oct 11 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 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开发负载均衡指南
2010/07/17 PHP
Laravel 5 学习笔记
2015/03/06 PHP
PHP会话处理的10个函数
2015/08/11 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
python实现web方式logview的方法
2015/08/10 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
python装饰器原理与用法深入详解
2019/12/19 Python
django ORM之values和annotate使用详解
2020/05/19 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
大学生求职简历的自我评价范文
2013/10/12 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
防火标语大全
2014/10/06 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android