• 大量字段表单在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";
  • 相关阅读:
    设计模式20-观察者模式
    设计模式19-备忘录模式
    设计模式18-中介者模式
    设计模式17-迭代器模式
    设计模式16-解释器模式
    Wireshark基本介绍和学习TCP三次握手
    Jmeter CSV 参数化/检查点/断言
    Jmeter运营活动并发测试—巧用集合点
    一个简单的性能测试
    Jmeter对HTTP请求压力测试、并发测试
  • 原文地址:https://www.cnblogs.com/keleyu/p/3847765.html
Copyright © 2020-2023  润新知