テキストボックス、ラジオボタン、チェックボックス、選択タグ、テキストエリアなどで構成される25のフィールドを持つ大きなフォームがあるとします。
フォームが送信されたら、それらの値を収集してデータベースに保存するための最良の方法は何でしょうか。ベストプラクティスとは、可能な限り最小限のコード行を使用することを意味します。
従来の方法があります:
$name = $_POST['name'];
$age = $_POST['age'];
$city = $_POST['city'];
これは間違いなく進むべき道ではありません。
次に別の方法があります:
foreach($_POST['submit'] as $key=>$val)
{
$$key = $val;
}
ただし、これにも巨大なINSERTSQLステートメントが必要になります。
"INSERT INTO tablename (col1, col2, col3, col4,...col25)
VALUES('$var1', '$var2', '$var3',.....'$var25')"
foreachを使用して値をキャプチャするのは良いことですが、その場合、細長いSQLINSERTステートメントが付属します。INSERTステートメントを使用するためのより良い方法があるはずです。アイデア、提案、批評家はすべて大歓迎です。
ありがとう、ニサール