Как использовать флажок и номер типа ввода вместе в php

Я создаю приложение для бронирования конференц-зала с использованием 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'];
 }
}

но когда я показываю переменную, я не могу получить результат. Может ли кто-нибудь помочь мне, как можно хранить проверенные элементы и соответствующее количество вместе.

когда и где вы хотите их сохранить? По нажатию кнопки?

saibbyweb 27.11.2018 13:31

"var_export" ваш "$ _POST" -массив, который может помочь найти проблему, чем вы увидите, как сохраняются значения формы

Gizzmo 27.11.2018 13:37

Можете объяснить, что не работает точно?

Nico Haase 27.11.2018 13:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
372
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете получить, передав имя еды в массиве имен текстового поля

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

Спасибо брат. Он работает нормально ... и есть ли способ отобразить значение вне цикла

krishna 28.11.2018 06:13

Прошу прощения, я не имел в виду это ... я имел в виду, есть ли способ отобразить его вне цикла в любом месте веб-страницы или мне нужно вставить цикл там, где я хочу отобразить

krishna 28.11.2018 06:41

не могли бы вы мне помочь, как вставить его в базу данных

krishna 28.11.2018 07:09

Есть много примеров для вставки в базу данных

RBT 28.11.2018 07:14

нет, я спрашиваю, когда человек заказывает чай 10 и закуски 9, тогда как я вставляю его в базу данных с разделителем запятой

krishna 28.11.2018 07:25

как вы упомянули в коде, мне нужно создать отдельную таблицу для хранения деталей еды, когда человек бронирует комнату с внешним ключом. правильно?

krishna 28.11.2018 07:28

не могли бы вы сказать мне. есть ли возможность сохранить его в ассоциативный массив с элементом в качестве метки и числом в качестве значения

krishna 28.11.2018 07:56

Другие вопросы по теме