ホームページ  >  記事  >  バックエンド開発  >  PHP が大量のフォームフィールドを便利に処理する方法

PHP が大量のフォームフィールドを便利に処理する方法

*文
*文オリジナル
2017-12-25 14:50:441543ブラウズ

場合によっては、フォームに処理が必要なフィールドが多数含まれることがあります。この種のデータを書くのは非常に面倒です。もっと簡単で洗練された方法はありますか?この記事では、配列を使用して大量のフォーム データを迅速かつ便利に処理する方法について説明します。お役に立てれば幸いです。

プログラム開発におけるフォームの一括送信戦略について
フォームにフィールドが多すぎることがよくありますが、どうすれば開発の効率と均一性を向上させることができますか?

たとえば、システムに 26 個のフィールドがある場合、フォームの名前に a から z までの 26 文字を使用します

e4e607e40a4090ab921dae8177835388 を選択します。 e4e607e40a4090ab921dae8177835388,...,b52115e0c5f60dd3e17ec2da978fcf82

しかし、この場合、バッチデータ挿入を行う場合、それはそれほど単純ではありません。
挿入または編集操作は次のようなステートメントになるためです: 特に、このような痛ましいほど長い 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(&#39;a&#39;,&#39;b&#39;,……,&#39;z&#39;);//这个是特意设置校验字典,校验提交的字段是否存在
foreach($setting as $k=>$v) {
            if(in_array($k, $fields)) { $sqlk .= &#39;,&#39;.$k; $sqlv .= ",&#39;$v&#39;"; }
        }
        $sqlk = substr($sqlk, 1);
        $sqlv = substr($sqlv, 1);
    $sql="INSERT INTO kele_table ($sqlk) VALUES ($sqlv)";

フォーム フィールドの表示を更新

$sql = &#39;&#39;;
        foreach($setting as $k=>$v) {
            if(in_array($k, $fields)) $sql .= ",$k=&#39;$v&#39;";
        }
 $sql = substr($sql, 1);
 $sql="UPDATE kele_table SET $sql WHERE id=$id";

関連する推奨事項:

php フォーム検証実装コード

PHPフォーム検証 - 電子メールとURLを検証

PHPフォームの更新送信を防ぐ方法

以上がPHP が大量のフォームフィールドを便利に処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。