[英]php multidimensional form array
如何遍歷此數組並將值分配給變量並將其保存到MySQL?
使用此表單生成以下數組。 我不想使用索引鍵,因為值的數量可能會增加或減少。
<input type="text" name="formB[usr_f_name][]" placeholder="First Name" />
<input type="text" name="formB[usr_l_name][]" placeholder="Last Name" />
<input type="text" name="formB[usr_mobile][]" placeholder="Mobile Number" />
Array
(
[usr_f_name] => Array
(
[0] => first
[1] => second
)
[usr_l_name] => Array
(
[0] =>
[1] =>
)
[usr_mobile] => Array
(
[0] =>
[1] =>
)
[usr_email] => Array
(
[0] =>
[1] =>
)
)
這就是我現在所擁有的。 但無法讓它發揮作用
$id_array = array_keys($_POST['formB']);
foreach ($id_array as $id){
$usr_f_name = mysqli_real_escape_string ($_POST['usr_f_name'][$id]);
$usr_l_name = mysqli_real_escape_string ($_POST['usr_l_name'][$id]);
$usr_mobile = mysqli_real_escape_string ($_POST['usr_mobile'][$id]);
$sql = "INSERT INTO formB SET f_name = '$usr_f_name', l_name = '$usr_l_name', mobile ='$usr_mobile'";
}
你可以做點什么
foreach ($_POST['formB']['usr_f_name'] as $id=>$value){//loop over the values of the usr_f_name and then use the index of that to get the other values
$usr_f_name = mysqli_real_escape_string ($_POST['formB']['usr_f_name'][$id]);
$usr_l_name = mysqli_real_escape_string ($_POST['formB']['usr_l_name'][$id]);
$usr_mobile = mysqli_real_escape_string ($_POST['formB']['usr_mobile'][$id]);
$sql = "INSERT INTO formB SET f_name = '$usr_f_name', l_name = '$usr_l_name', mobile ='$usr_mobile'";
}
嘗試這個...
$array = array(
'usr_f_name' => array('first','second'),
'usr_l_name' => array('',''),
'usr_mobile' => array('',''),
'usr_email' => array('',''),
);//Your array
$sql= '';
for($i=0;$i<count($array['usr_f_name']);$i++)
$sql .= "INSERT INTO formB SET f_name = '".$array['usr_l_name'][$i]."', l_name = '".$array['usr_l_name'][$i]."', mobile ='".$array['usr_mobile'][$i]."';";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.