PHP处理大量表单字段的便捷方法

前端技术 2023/09/03 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\";

本文地址:https://www.stayed.cn/item/8371

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。