程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP處理大量表單字段的便捷方法

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved