大量字段表单在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便捷处理分享

时间: 2024-08-28 19:13:25

大量字段表单在PHP便捷处理分享的相关文章

JVM-class文件完全解析-字段表集合

 字段表集合 这个class文件的解析,分析得有点太久了.前面介绍类魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引和接口索引集合.下面就应该到字段表集合了.  紧接着接口索引集合的就是字段表的集合了. 字段表(field_info)用于描述接口或者类中声明的变量.字段包括类级变量以及实例级变量,但是不包括在方法内部声明的局部变量. 字段表的结构: 类型 名称 数量 u2 access_flags 1 u2 name_index 1 u2 descriptor_index

深入理解Java虚拟机笔记---字段表集合

字段表(field_info)用于描述接口或类中声明的变量.字段(field)包括了类级变量或实例变量,但不包括方法内部声明的变量.描述一个字段的信息有:字段的作用域(public,private,protected修饰符),是类级变量还是实例级变量(static修饰符),可变性(final),并发可见性(volatile修饰符,是否强制从主内存读写),是否可序列化(transient修饰符),字段数据类型(基本数据类型,对象,数组),字段名称.这些信息中,各个修改符都是布尔值,要么有某个修饰符

《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的

0.前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的. 感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成<Java虚拟机原理图解> 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助. 读

字段表的ConstantValue

2014年8月29日 参考书籍:book1:深入java虚拟机 book1中错误: P191,书中说,只有被static关键字修饰的变量才可以使用ConstantValue, 我自己写了代码,进行javap反编译, 在源代码中:final int=1; 在字节码中会出现ConstantValue 关于这一点,我按照书中前言所述,发了邮箱,但是没有反应...... 这本书确实不错. 字段表: 结构与方法表的结构相同,可以参考我对方法表的描述. 之所有把这个部分也单独列出来,是因为在字段表中,可能会

MYSQL利用Navicat对含有Bold字段表进行导入导出

MYSQL中含有Blob字段是一件挺麻烦的事情,导出导入不方便.我介绍我是怎么做的. 1.在MYSQL的my.ini最后中添加一行配置max_allowed_packet = 100M,重启MYSQL服务 根据实际情况来定这个数值的大小,我这次表里面有82个mediumblob字段,所以设置为100M 2.用XML格式导出数据 3.选择用XML导入数据 选择表示一行的标签,我这里是RECORD. 4.耐心等待,如果有报错多少条处理失败是因为max_allowed_packet = 100M的值设

Jvm(38),class文件结构----字段表集合

0.前言 读完本文,你将会学到: 1.类中定义的field字段是如何在class文件中组织的 2.不同的数据类型在class文件中是如何表示的 3.static final类型的field字段的初始化赋值问题 1.概述 字段表集合是指由若干个字段表(field_info)组成的集合.对于在类中定义的若干个字段,经过JVM编译成class文件后,会将相应的字段信息组织到一个叫做字段表集合的结构中,字段表集合是一个类数组结构,如下图所示: 注意:这里所讲的字段是指在类中定义的静态或者非静态的变量,而

国外的一些优秀单页滚动页面设计分享

国外的一些优秀单页滚动页面设计分享We Are Top Secret 这个导航界面设计从色彩上选用黑白,给人感觉带一点潮流,带一点温和,在这个单页滚动设计中没有特意去使用一些醒目和特效抓取用户的眼球,只是底部用了一个小巧的“scroll down”的提示,这样一来,由于界面简单简洁,融合度是非常好的. Fixed Group在这些页面很炫酷的设计中,国外一般都很喜欢将导航栏给隐藏掉,一方面可以更加简洁,更加美观,另一方面可以引导用户向下的滚动页面,在这个页面的诱导设计中是使用了一个超窄的箭头,有

几段表单处理的JQuery代码(转)

1 只接受数字输入 $("#uAge").keydown(function(event) { // 允许退格和删除键 if ( event.keyCode == 46 || event.keyCode == 8 ) { } else { // 保证输入的是数字键 if (event.keyCode < 48 || event.keyCode > 57 ) { event.preventDefault(); } } }); 2 全选 $("#checkall&quo

使用DBLink方式同步远程数据库中含Blob、Clob字段表的问题解决

在数据库同步中我们经常会用到DBLink方式.DBLink可以将物理上存放于网络的多个数据库在逻辑上当成一个单一的大数据库.开发人员无需关心数据库的网络分布,就能很方便的实现从不同数据库之间读取数据.如何在Oracle数据库间建立DBLink我在之前的文章已有涉及,这里就不花篇幅讲解了.具体请查看Oracle建立DBLink. 本篇文章主要阐述如何解决DBLink方式无法实现Blob.Clob字段数据同步的问题.在网上已经有很多牛人给出了解决方案,在参照他们的方案解决问题的过程中,发现有些小问题