有的時候,表單會有很多的欄位需要我們處理。這樣數據寫起來非常的繁瑣,有沒有比較簡潔優雅的方式呢?本文說明一種使用陣列的方式來快速、方便的處理大量表單資料的方法。希望對大家有幫助。
關於程式開發中的表單批量提交策略
很多時候一個表單太多的字段,如何能夠高效獲取表單字段,也為如何提神開發的效率和統一性?
例如一個系統的某個有26個字段,那麼我用表單的名稱用26個a到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如何便捷的處理大量表單字段的詳細內容。更多資訊請關注PHP中文網其他相關文章!