3

2つの異なるテーブルをHTMLPOSTリクエストからPHPを実行しているサーバーに変更したいと思います。以前は、1つのテーブルのみを変更したい場合、すべての列と値がPOST配列に配置されていたため、、[colname1]=>val1など[colname2]=val2がありました。次に、POSTをループして、クエリを実行するための正しいMySQLステートメントを作成しました。

選択したドロップダウンボックスに応じて、最初のテーブルが変更されるだけでなく、(ユーザーが選択した)別のテーブルも変更されるようにコードを変更しました。したがって、理想的には、PHPのPOST変数に配列の配列を持たせたいと思います。したがって、最終的には、POST変数が次のようになっていると便利です...

[mainTable][colnam1]=>val1 [colnam2]=>val2
[otherTable][colnam1]=>val1 [colnam2]=>val2

私の現在の回避策は、フォームの入力名の前にテーブル名を付けてからサーバー上で解析する必要がありますが、より柔軟で、この方法では行いません。

<input type="text" name="mainTable_colname">
<input type="text" name="otherTable_colname">

フォームとPOSTの使用についての私の理解から、名前付きのhtmlフォーム要素のみがpost変数に渡されます。

誰かがこれを行うためのより良い方法を知っていますか?

4

1 に答える 1

4

必要なキーを含め、要素のname属性を配列に指定すると、次の配列が取得されます$_POST

<input type="text" name="mainTable[colname]">
<input type="text" name="mainTable[colname2]">
<input type="text" name="otherTable[colname]">

Avar_dump( $_POST['mainTable']);は、次のようなものを生成します。

array( 'colname' => 1, 'colname2' => 1);
于 2012-07-05T20:18:22.700 に答える