PHP вставить массив входных данных, используя foreach

0

Я не могу понять это. Я пытаюсь сопоставить ключи и значения и вставить их в db, и я не могу получить значение 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 пуст.

Теги:

2 ответа

0

Добавлено [$ key] до конца POST _ ['room_id']. Благодарю. Прекрасно работает

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

           }
     }
}
0

Посмотрев на ваш print_r:

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

Altho что-то не так с вашей формой HTML

Ещё вопросы

Сообщество Overcoder
Наверх
Меню