場合によっては、フォームに処理が必要なフィールドが多数含まれることがあります。この種のデータを書くのは非常に面倒です。もっと簡単で洗練された方法はありますか?この記事では、配列を使用して大量のフォーム データを迅速かつ便利に処理する方法について説明します。お役に立てれば幸いです。
プログラム開発におけるフォームの一括送信戦略について
フォームにフィールドが多すぎることがよくありますが、どうすれば開発の効率と均一性を向上させることができますか?
たとえば、システムに 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('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 中国語 Web サイトの他の関連記事を参照してください。