У меня есть флажок и выпадающий список, чтобы выбрать курс ужина, который циклично показывает 4 комнаты. Когда я выбираю более одной комнаты, я получаю этот вывод, например:
Слоновая комната
три курса
два курса
и
Lion Room
три курса
два курса
Но я хочу этот вывод:
Если я выберу два курса для Слоновой комнаты, я хочу это:
Слоновая комната
два курса
и
Если я выберу три курса для Lion Room, я хочу это:
Lion Room
три курса
Я пытался модифицировать циклы foreach несколькими способами, играя с ними. Я пока не совсем специалист по петлям, и петли внутри петель.
HTML
<?php while ( have_posts() ) : the_post(); ?>
<form name="book-room-form" action="" id="contactForm" method="post">
<div>
<label class="form-check-label selected-label" for="room-selected">Select</label>
<input type="checkbox" class="form-check-input" id="room-selected" name="room-selected[]" value="<?php echo $room_name; ?>">
</div>
<select name="dinner-select[]" required>
<option value="0" selected>Select Dinner Course</option>
<option value="120">Two Course Dinner</option>
<option value="200">Three Course Dinner</option>
</select>
<button name="submit-request" type="submit" class="btn btn-primary">Submit</button>
</form>
<?php endwhile; // end of the loop. ?>
PHP
if(isset($_POST['submit-request']))
{
$room_selected = $_POST['room-selected'];
$numPeople = $_POST['people-select'];
$dinnerSelect = $_POST['dinner-select'];
$roomoption = isset($room_selected) ? $room_selected : false;
if ($roomoption) {
foreach ($room_selected as $room){
if($room){
echo $room . '<br/>';
$dinneroption = isset($dinnerSelect) ? $dinnerSelect : false;
if ($dinneroption) {
foreach ($dinnerSelect as $dinn){
if($dinn >= 200){
echo 'three course <br/>';
}
elseif($dinn == 120) {
echo 'two course <br/>';
}
}
}
}
}
}
}
Есть идеи, как с этим справиться?