0

誰かがこの挿入物をデータベースに書き込む方法を教えてもらえますか?以下のコードは、私が達成しようとしていることの例です。複数の子供がいる家族向けのフォームが欲しいです。彼らは、データベースで共有する家族の名前と1つのIDを送信します。以下のコードを参照してください...

フォーム入力

<input type="text" name="fname[]"/>
<input type="text" name="lname[]"/>
<input type="text" name="fname[]"/>
<input type="text" name="lname[]"/>
<input type="text" name="family_id"/>

これは私が問題を抱えているところです。家系の名前を送信できますが、最初の(行)「名前」のみが「family_id」も保存しています。

PHP

        foreach($_POST['fname'] as $key => $fname) {
            $lname = $_POST['lname'][$key];
                            $family_id = $_POST['family_id'][$key];

            $query = mysql_query("INSERT INTO Table (FName, LName, Family_ID ) VALUES ('{$fname}', '{$lname}', $_POST['family_id'])"); 
        } 

助けてくれてありがとう!

4

2 に答える 2

0

行方{}不明$_POST['family_id']
family_id配列ではありません。

だからあなたが得る最初の反復

$_POST['family_id'][0]; // gets the id

二番目

$_POST['family_id'][1]; // gets undefined index

それを修正するには、次の手順を実行します。

foreachループの前に次のコードを追加し、他のコードと$family_id同様にクエリに連結します。

$family_id = $_POST['family_id'];
于 2013-01-12T04:00:52.440 に答える
0

これを試して:

extract($_POST);
$total=count($fname);

for($i=0;$i<count($total);$i++)
{

$fname=$fname[$i];
$lname=lfname[$i];

 $query="INSERT INTO Table (FName, LName, Family_ID ) VALUES ('{$fname}', '{$lname}', $family_id)";

}
于 2013-01-12T04:02:23.900 に答える