簡體   English   中英

將數組值和單個表單值插入所有行PHP MYSQL

[英]Insert array values and single form values into all rows PHP MYSQL

有人可以告訴我如何將此插入內容寫入數據庫嗎? 下面的代碼是我要完成的示例。 我想為有多個孩子的家庭准備一份表格。 他們提交他們的姓氏和一個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'])"); 
        } 

感謝您的幫助!

$_POST['family_id']左右缺少{}
family_id不是數組。

所以第一次迭代

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

第二

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

要解決此問題,請執行以下操作。

foreach循環之前添加以下代碼,並像在其他查詢中所做的那樣將concat $family_id連接到查詢中。

$family_id = $_POST['family_id'];

嘗試這個:

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)";

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM