PHP使用foreach插入输入数据数组


PHP insert input data array using foreach

我想不通。我正在尝试匹配键和值并将它们插入数据库,但我无法获得room_id值。

这是我的var_dump:

array(6) { 
    ["checkbox_1"]=> string(1) "1" 
    ["footage"]=> array(1) { [0]=> string(2) "55" }
    ["room_id"]=> array(1) { [0]=> string(1) "6" }  
    ["company_id"]=> string(1) "1" 
    ["client_id"]=> string(3) "709" 
    ["submit_form"]=> string(0) "" 
} 

这是我的代码:

if (is_array($_POST)) {
foreach($_POST['footage'] as $key => $val){
if($val != ''){
$room_id = $_POST['room_id'][$key]; //fixed
mysqli_query($con,"INSERT INTO home_details 
    (room_id, footage) 
VALUES ('".$room_id."',
    '".$val."'
    )");
    echo "<br>Added.";
               }
      }
}

$val=55,但$room_id为空。

通过查看您的print_r:

$id = $_POST['room_id'][0];

尽管HTML表单有问题

在POST_['room_id']的末尾添加了[$key]。谢谢效果很好

if (is_array($_POST)) {
foreach($_POST['footage'] as $key => $val){
if($val != ''){
$room_id = $_POST['room_id'][$key]; //fixed
mysqli_query($con,"INSERT INTO home_details 
(room_id, footage) 
VALUES ('".$room_id."',
'".$val."'
)");
echo "<br>Added.";
           }
     }
}