zoukankan      html  css  js  c++  java
  • 大量字段表单在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";
  • 相关阅读:
    URAL——DFS找规律——Nudnik Photographer
    URAL1353——DP——Milliard Vasya's Function
    URAL1203——DPor贪心——Scientific Conference
    递推DP HDOJ 5389 Zero Escape
    区间DP UVA 1351 String Compression
    树形DP UVA 1292 Strategic game
    Manacher HDOJ 5371 Hotaru's problem
    同余模定理 HDOJ 5373 The shortest problem
    递推DP HDOJ 5375 Gray code
    最大子序列和 HDOJ 1003 Max Sum
  • 原文地址:https://www.cnblogs.com/keleyu/p/3847765.html
Copyright © 2011-2022 走看看