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";
相关推荐
-
使用php+Ajax实现唯一校验实现代码[简单应用]
首先创建一个Ajax类(Ajax类) 然后新建一个文件form.html --------------------------form.html---------------------------- 复制代码 代码如下: <script src="ajax.js"></script> <!--引用ajax类--> <script language="javascript" type="text/javascrip
-
php获取从html表单传递数组的方法
本文实例讲述了php获取从html表单传递数组的方法.分享给大家供大家参考.具体如下: 将表单的各个元素的name都设置成同一个数组对象既可以以数组的方式传递表单值 html页面如下: <form method="post" action="arrayformdata.php"> <label>Tags</label> <input type="text" name="tags[]"/
-
php实现信用卡校验位算法THE LUHN MOD-10示例
按照ISO 2894中支付卡校验位的算法 The Luhn Mod-10 Method 规定: 1.对卡号上的每位数字乘以权重.其规则是,如果卡号数字个数是偶数,则第一位乘以2,否则就乘以1,然后以后分别是,1,2,1,2,1,2;2.如果每位数字乘以权重后超过9 ,则需要减去 9;3.将所有的处理过的加权数字求和,用 数字 10 求模运算;4.余数应该是0,否则可能是输入错误.也可能是一个假号. 顺手PHP简单实现下,实际场景前端验证好一些,例如JS. 复制代码 代码如下: function
-
php生成SessionID和图片校验码的思路和实现代码
/****** 产生Session ID ******/ 基本的思路: 是把当前微秒的时间获取, 然后产生以个随机数字, 把随机数字和当前时间相加后加密一下, 最后再截取需要的长度 /* 函数名称:create_sess_id() 函数作用:产生以个随机的会话ID 参 数:$len: 需要会话字符串的长度,默认为32位,不要低于16位 返 回 值:返回会话ID 函数作者:heiyeluren */ function create_sess_id($len=32) { // 校验提交的长度是否合法
-
php正则校验用户名介绍
<?php if (mb_ereg("^[\w\-\.]{1,32}$", $str)) { echo 'yes'; } else { echo 'no'; } ?>
-
php校验表单检测字段是否为空的方法
本文实例讲述了php校验表单检测字段是否为空的方法.分享给大家供大家参考.具体如下: php校验表单,检测字段是否为空,当表单中有未填写的字段,则会显示错误信息. <html> <body> <form METHOD="POST" ACTION="ErrorCheck.php"> <h1>Contact Information</h1> <label>Nickname:</label>
-
php表单提交与$_POST实例分析
本文实例分析了php的表单提交与$_POST.分享给大家供大家参考.具体如下: 这里要注意:表单 checkbox 的 name 需要以数组形式来命名. 表单文件:index.php 复制代码 代码如下: <form action="b.php" method="post"> 用户名:<input type="text" name="username"><br /> 密码:<input
-
php+html5使用FormData对象提交表单及上传图片的方法
本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法.分享给大家供大家参考.具体分析如下: FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台.在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量. 使用FormData对象 1.创建一个FormData空对象,然后使用append方法添加key/value 复制代码 代码如下: var formdata = new
-
PHP校验ISBN码的函数代码
详细资料可以参考:国际标准书号 – 维基百科,下面还是简述一下什么是ISBN码: 国际标准书号(International Standard Book Number,ISBN:拟发音is-ben),是国际通用的图书或独立的出版物(除定期出版的期刊)代码.出版社可以通过国际标准书号清晰的辨认所有非期刊书籍.一个国际标准书号只有一个或一份相应的出版物与之对应.新版本如果在原来旧版的基础上没有内容上太大的变动,在出版时也不会得到新的国际标准书号码.当平装本改为精装本出版时,原来相应的国际标准书号号码也
-
PHP处理大量表单字段的便捷方法
关于程序开发中的表单批量提交策略 很多时候一个表单太多的字段,如何能够高效获取表单字段,也为如何提神开发的效率和统一性? 比如一个系统的某个有26个字段,那么我用表单的名称用26个a到z的字母, 你是选择 <input type="text" name="a">,<input type="text" name="a">,--,<input type="text" name=&q
-
php上传图片获取路径及给表单字段赋值的方法
本文实例讲述了php上传图片获取路径及给表单字段赋值的方法.分享给大家供大家参考,具体如下: 1. 调用方法例子: 大图路径: <input type="text" name="bigImageURL" id="bigImageURL" value=""> <iframe src="uppic.php?id=bigImageURL" width="600" height
-
JS获取一个表单字段中多条数据并转化为json格式
如图需要获取下面两个li标签里面的数据,然后传给后台:而后台接收的数据格式是json的,所以需要把两个li里面的信息转化为以下格式的. {recieverName:小红,recieverPhone:12341234,recieverAddress:中国湖南},{recieverName:小明,recieverPhone:12345678,recieverAddress:中国上海} 代码如下: var recieverArr = []; //全局变量 var recieverMsg = {}; /
-
django-xadmin根据当前登录用户动态设置表单字段默认值方式
相信你一定会设置一个普通字段的默认值: class Offer(models.Model): salary = models.CharField(max_length=64, blank=True, default='6000', verbose_name='薪资待遇') 相信你还能动态设置外键字段的默认值: class Interview(models.Model): department = models.ForeignKey('departments.Department', relate
-
vue使用rules实现表单字段验证
vue 中表单字段验证的写法和方式有多种,本博客介绍三种较为常用的验证方式. 1. 写在 data 中验证 表单内容 <!-- 表单 --> <el-form ref="rulesForm" :rules="formRules" :model="rulesForm" label-width="200px"> <el-form-item label="用户名称:" prop=&q
-
比较不错的asp单表单字段多条件查询
用途:文章表内文章关键字查询 查询格式: 百度 google 百度好还是google好 百度+google (也可不输入条件全部查询) <!--#include file="conn.asp"--> <% Function SearshSQL(Tname,Lname,Str) 'Tname-表名 Lname-列名 Str-查询的字符 If Trim(Str)="" then MySql="Select * From &q
-
ASP.NET中实现Form表单字段值自动填充到操作模型中
我们知道ASP.NET MVC有个强大的地方就是Form表单提交到action的时候,可以直接将Form的参数直接装配到action的参数实体对象中 比如 复制代码 代码如下: action方法 Register(UserModel userModel) { ............................. } 在提交表单的时候,会自动讲表单里面的字段封装到对应的UserModel字段里面 那么 WebForm里面可不可以也紫将呢? 因为每次都要去获得数据,优秀的程序员应该要学会代码封
-
ajax来自动补全表单字段示例
源代码: 脚本一: <!DOCTYPE html> <html> <head> <title>Auto-fill Form Fields</title> <link rel="stylesheet"href="script06.css" rel="external nofollow" > <script src="script06.js">&l
-
vue 使用rules对表单字段进行校验的步骤
在实际开发过程中,发现以下的写法比较累赘,因为在后面的项目中,继续优化表单验证的方法,让代码更简洁.主要的修改是验证方法的修改和调用 以前验证表单字段的最大长度,description: [{ max: 200, message: '最大长度为200个字符', trigger: 'blur' }] 现在写法:description: [validateLen(200)] 其中,validateLen是我封装的一个方法. 使用步骤: 1.在uitls文件夹中新建一个validate.js文件. 2
-
简单了解Ajax表单序列化的实现方法
原生表单序列化 随着Ajax的出现,表单序列化已经成为一种需求,在学习原生Ajax时,若用POST方法向后台提交数据时,就需要将表单序列化 在JavaScript中可以利用表单字段的type属性,连同name和value属性,一起实现表单的序列化. 在进行表单序列化之前,需要弄清楚在表单提交期间,浏览器是怎样将数据发送给服务器的. --对表单字段的名称和值进行URL编码,使用和号(&)分隔 --不发送禁用的表单字段 --只发送勾选的复选框和单选按钮 --不发送type为"reset&qu
随机推荐
- AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
- python的构建工具setup.py的方法使用示例
- node.js中实现同步操作的3种实现方法
- 基于d3.js实现实时刷新的折线图
- Spring4整合Hibernate5详细步骤
- JS实现页面进入和返回定位到具体位置
- 解析Python中的变量、引用、拷贝和作用域的问题
- Android基于SoftReference缓存图片的方法
- scrollTop 用法说明
- MAC上Mysql忘记Root密码或权限错误的快速解决方案
- linux 查找大目录和大文件的方法(推荐)
- 纯CSS实现鼠标放上去改变文字内容
- 基于java解析JSON的三种方式详解
- BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
- SQL Server误区30日谈 第30天 有关备份的30个误区
- 权威JavaScript 中的内存泄露模式
- jQuery的position()方法详解
- jQuery实现只允许输入数字和小数点的方法
- 终于发现了鼠标关机后仍然发光的原因了与关闭键盘鼠标开机功能的方法第1/2页
- PHP在引号前面添加反斜杠(PHP去除反斜杠)