当前位置:首页 > PHP教程 > php应用 > 列表

PHP处理大量表单字段的便捷方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-10 11:49:01 浏览: 评论:0 

这篇文章主要介绍了PHP处理大量表单字段的便捷方法,本文讲解一种使用数组的方式来快速、方便的处理大量表单数据,需要的朋友可以参考下

关于程序开发中的表单批量提交策略

很多时候一个表单太多的字段,如何能够高效获取表单字段,也为如何提神开发的效率和统一性?

比如一个系统的某个有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:

插入表单字段展示,代码如下:

  1. $fields=array('a','b',……,'z');//这个是特意设置校验字典,校验提交的字段是否存在 
  2. foreach($setting as $k=>$v) { 
  3.             if(in_array($k$fields)) { $sqlk .= ','.$k$sqlv .= ",'$v'"; } 
  4.         } 
  5.         $sqlk = substr($sqlk, 1); 
  6.         $sqlv = substr($sqlv, 1); 
  7.     $sql="INSERT INTO kele_table ($sqlk) VALUES ($sqlv)"

更新表单字段展示,代码如下:

  1. $sql = ''
  2.         foreach($setting as $k=>$v) { 
  3.             if(in_array($k$fields)) $sql .= ",$k='$v'"
  4.         } 
  5.  $sql = substr($sql, 1); 
  6.  $sql="UPDATE kele_table SET $sql WHERE id=$id";

Tags: PHP处理大量表单字段

分享到: