PHP处理大量表单字段的便捷方法_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:

插入表单字段展示

复制代码 代码如下:

$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";

时间: 2025-01-21 12:35:53

PHP处理大量表单字段的便捷方法_php实例的相关文章

php上传图片获取路径及给表单字段赋值的方法_php技巧

本文实例讲述了php上传图片获取路径及给表单字段赋值的方法.分享给大家供大家参考,具体如下: 1. 调用方法例子: 大图路径: <input type="text" name="bigImageURL" id="bigImageURL" value=""> <iframe src="uppic.php?id=bigImageURL" width="600" height

ThinkPHP实现非标准名称数据表快速创建模型的方法_php实例

本文实例讲述了ThinkPHP实现非标准名称数据表快速创建模型的方法.分享给大家供大家参考.具体方法如下: 非标准名称数据表,例如:cow_archives_4,类似命名方法常见于齐博cms,08cms等文档模型数据表命名,假设已在配置文件中配置数据表前缀: 复制代码 代码如下: <?php  return array(   //'配置项'=>'配置值'   //数据库配置   'DB_PREFIX'=>'cow_',  );  ?> 新建模型,Archives4Model.cla

Codeigniter检测表单post数据的方法_php实例

本文实例讲述了Codeigniter检测表单post数据的方法.分享给大家供大家参考.具体如下: $name = $this->input->post(' name' ) ; $email = $this- >input->post( ' email' ) ; $subj ect = $this->input->post( ' subject' ) ; $message = $this->input->post( ' message' ) ; if(empt

Yii2简单实现给表单添加验证码的方法_php实例

本文实例讲述了Yii2简单实现给表单添加验证码的方法.分享给大家供大家参考,具体如下: 控制器SiteController: class SiteController extends Controller { // ... public function actions() { return [ // ... 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ?

ASP.NET中实现Form表单字段值自动填充到操作模型中

  这篇文章主要介绍了ASP.NET中实现Form表单字段值自动填充到操作模型中,本文模仿MVC模式中的自动映射表单了模型,使用泛型和反射实现,需要的朋友可以参考下 我们知道ASP.NET MVC有个强大的地方就是Form表单提交到action的时候,可以直接将Form的参数直接装配到action的参数实体对象中 比如 代码如下: action方法 Register(UserModel userModel) { ............................. } 在提交表单的时候,会

phpcmsv9中如何提交自定义表单字段的值(取不到数值)

问题描述 phpcmsv9中如何提交自定义表单字段的值(取不到数值) 哪位高人帮看看下面代码,怎么也提交不进去,(phpcms-v9) 我在表单向导中添加了新的字段,像下面的"xingming"字段,并开启了要求验证,要求必填,当提交时总提示我,字段最小值为1,就是说没有检测到我输入的值.下面的代码是从例子中超过来的,只不过是将foreach循环去掉直接写了文本输入框,如果用自带的foeach循环显示出form表提交就没有问题.请问高人下面这么写有错吗!!!???. 姓名:

修改织梦自定义表单字段为必填

织梦的自定义表单功能可以让你轻松的创建自己的表单功能,收集用户的留言.订单等信息. 但是dedecms的自定义表单有一个缺点,没有验证功能,允许提交空表单,这样致使后台会显示很多空数据,不能收集到完整的用户信息.今天我们就要给dedecms的自定义表单添加一个必填内容验证功能: 1.修改diy_field_add.htm,24行左右添加代码 var necessary = theform.necessary[0].checked?theform.necessary[0].value:thefor

php列出mysql表所有行和列的方法_php技巧

本文实例讲述了php列出mysql表所有行和列的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>Selecting Data</title> </head> <body> <?php $user = "root"; $pass = ""; $db = "mydatabase"; $link = mysql_

PHP使用token防止表单重复提交的方法_php技巧

本文实例讲述了PHP使用token防止表单重复提交的方法.分享给大家供大家参考,具体如下: <?php /* * PHP使用token防止表单重复提交 * 此处理方法纯粹是为了给初学者参考 */ session_start(); function set_token() { $_SESSION['token'] = md5(microtime(true)); } function valid_token() { $return = $_REQUEST['token'] === $_SESSION