Я создаю приложение для бронирования конференц-зала с использованием php. При этом, когда человек бронирует номер, у него есть возможность заказать чай или закуски и указать количество предметов, которые им нужны. Для этого я использую флажки для выбора элементов и номер типа ввода, чтобы указать количество элементов. Т.е. если выбран чай, вы должны указать номер. чая в поле ввода. Моя проблема в том, что я не могу хранить или отображать значение флажка и связанный номер вместе. Мой код
<form class = "form-horizontal" method = "post" id = "bookroom" action = "bookedreview.php">
<h4>Food & Beverages</h4>
<div class = "checkbox">
<input type = "checkbox" value = "tea" name = "food[]"><label>Tea</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "coffee" name = "food[]"><label>Coffee</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "snacks" name = "food[]"><label>Snacks</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "water" name = "food[]"><label>Water</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "nuts" name = "food[]"><label>Nuts</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "breakfast" name = "food[]"><label>Breakfast</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "lunch" name = "food[]"><label>Lunch</label>
<input type = "number" name = "foodnum[]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "dinner" name = "food[]"><label>Dinner</label>
<input type = "number" name = "foodnum[]">
</div>
<input type = "submit" name = "submit" value = "value">
</form>
if (isset($_POST['submit']))
{
$foodnum=$_POST['foodnum'];
$food=$_POST['food'];
//$food=implode(',',$_POST['food']);
foreach($foodnum as $index =>$value){
$fud=$value;
$num=$foodnum['index'];
}
}
но когда я показываю переменную, я не могу получить результат. Может ли кто-нибудь помочь мне, как можно хранить проверенные элементы и соответствующее количество вместе.
"var_export" ваш "$ _POST" -массив, который может помочь найти проблему, чем вы увидите, как сохраняются значения формы
Можете объяснить, что не работает точно?






Вы можете получить, передав имя еды в массиве имен текстового поля
<form class = "form-horizontal" method = "post" id = "bookroom" action = "">
<h4>Food & Beverages</h4>
<div class = "checkbox">
<input type = "checkbox" value = "tea" name = "food[]"><label>Tea</label>
<input type = "number" name = "foodnum[tea]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "coffee" name = "food[]"><label>Coffee</label>
<input type = "number" name = "foodnum[coffee]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "snacks" name = "food[]"><label>Snacks</label>
<input type = "number" name = "foodnum[snacks]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "water" name = "food[]"><label>Water</label>
<input type = "number" name = "foodnum[water]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "nuts" name = "food[]"><label>Nuts</label>
<input type = "number" name = "foodnum[nuts]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "breakfast" name = "food[]"><label>Breakfast</label>
<input type = "number" name = "foodnum[breakfast]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "lunch" name = "food[]"><label>Lunch</label>
<input type = "number" name = "foodnum[lunch]">
</div>
<div class = "checkbox">
<input type = "checkbox" value = "dinner" name = "food[]"><label>Dinner</label>
<input type = "number" name = "foodnum[dinner]">
</div>
<input type = "submit" name = "submit" value = "value">
</form>
<?php
if (isset($_POST['submit']))
{
$foodnum=$_POST['foodnum'];
$food=$_POST['food'];
echo "<table border='1' style='width:100%'><tr><th>Food Name</th><th>Count</th></tr>";
// output data of each row
foreach($food as $foo)
{
echo "<tr><td>".$foo."</td><td>".$foodnum[$foo]."</td></tr>";
}
echo "</table>";
}
?>
Для вставки
foreach($food as $foo)
{
$fieldVal1=$foo;
$fieldVal1=$foodnum[$foo];
$query = "INSERT INTO foodcounts( foodsname, cnt) VALUES ('".$fieldVal1."','".$fieldVal2."' )";
mysqli_query($conn, $query);
}
Спасибо брат. Он работает нормально ... и есть ли способ отобразить значение вне цикла
Прошу прощения, я не имел в виду это ... я имел в виду, есть ли способ отобразить его вне цикла в любом месте веб-страницы или мне нужно вставить цикл там, где я хочу отобразить
не могли бы вы мне помочь, как вставить его в базу данных
Есть много примеров для вставки в базу данных
нет, я спрашиваю, когда человек заказывает чай 10 и закуски 9, тогда как я вставляю его в базу данных с разделителем запятой
как вы упомянули в коде, мне нужно создать отдельную таблицу для хранения деталей еды, когда человек бронирует комнату с внешним ключом. правильно?
не могли бы вы сказать мне. есть ли возможность сохранить его в ассоциативный массив с элементом в качестве метки и числом в качестве значения
когда и где вы хотите их сохранить? По нажатию кнопки?