0

フィールド名に 2 次元配列を使用するフォームがあります。フィールド名は以下のとおりです。

マイフォーム[メッセージ][]

マイフォーム[名前][]

マイフォーム[追加][]

3つの配列があることを意味します。すべての配列には、その中に配列があります。値を入力して送信した後にフォームをvar_dumpすると、次の2次元配列の構造が得られます。

array
  ''message'' => 
    array
      0 => string 'adnan' (length=5)
      1 => string 'khan' (length=4)
      2 => string 'salman' (length=6)
  ''name'' => 
    array
      0 => string 'khan' (length=4)
      1 => string 'kamran' (length=6)
      2 => string 'khan' (length=4)
  ''add'' => 
    array
      0 => string 'asad' (length=4)
      1 => string 'khan' (length=4)
      2 => string 'abrar' (length=5)

連想配列を見るとわかるように、メッセージ、名前、およびメッセージの値を格納する 3 つのフィールドを持つデータベース テーブルに追加し、foreach のようなループを使用して 1 つのクエリでフィールドを追加したいと考えています。このコードを使用すると

foreach($_REQUEST['myform'] as $val)
 foreach($val as $v)

  {
    echo $v;
  }

配列のすべての値を取得しますが、データベーステーブルに保存できないと思います

すべての値は変数$vにあるため、メッセージをメッセージフィールドに保存し、名前フィールドに名前を保存し、データベースのテーブルに追加フィールドを追加する方法.

アドバイスをお願いします。ありがとう

4

2 に答える 2

0

最初に、メッセージの長さ、名前と追加の配列が等しいことを確認してから、このコードを使用してすべての値にアクセスできます。

foreach($_REQUEST['myform'] as $val)
{
    for($i=0;$i<count($val['message']);$i++){
        echo $val['message'][$i].'<br/>';
        echo $val['name'][$i].'<br/>';
        echo $val['add'][$i].'<br/>';
    }
}
于 2012-05-02T18:46:53.560 に答える
0
foreach($_REQUEST['myform'] as $field=>$val)
 // $field is the key
 foreach($val as $v)

  {
    echo $field . ' ' . $v;
  }

これにより、作業するフィールド名が得られます。エントリをデータベースに挿入する方法はすでに知っていると思います。

于 2012-05-02T18:38:41.597 に答える