首页 > 解决方案 > 如果特定酒店(度假村)的房间类型不止一种,我如何在下拉菜单中填充度假村(酒店)的房间类型?

问题描述

我正在开发一个在线旅游预订系统。事实上,我购买了一个在线预订系统,并且正在根据自己的需要对其进行修改。这里的问题在于特定度假村或酒店的检查可用性表格。我想为该特定酒店填充房间类型的下拉菜单,但如果酒店有多个房间类型,我无法填充下拉菜单

这是要求填充下拉菜单的特定代码

 $result_room = $db->query("SELECT * FROM pm_room WHERE checked = 1 AND id_hotel = '.$hotel_id.' AND lang = ".LANG_ID); 

房间表是“pm_room”,在该表中有一个酒店 ID 列,即“id_hotel”

我正在修改的文件是 search-min.php

下面是 search-min.php 中的代码

<?php
debug_backtrace() || die ("Direct access not permitted");

$max_adults_search = 5;
$max_children_search = 10;

if(!isset($_SESSION['destination_id'])) $_SESSION['destination_id'] = 1;
if(!isset($destination_name)) $destination_name = "";

if(!isset($_SESSION['num_adults']))
    $_SESSION['num_adults'] = (isset($_SESSION['book']['adults'])) ? $_SESSION['book']['adults'] : 1;
if(!isset($_SESSION['num_children']))
    $_SESSION['num_children'] = (isset($_SESSION['book']['children'])) ? $_SESSION['book']['children'] : 0;

$from_date = (isset($_SESSION['from_date'])) ? $_SESSION['from_date'] : "";
$to_date = (isset($_SESSION['to_date'])) ? $_SESSION['to_date'] : ""; ?>

<form action="<?php echo DOCBASE.$sys_pages['booking']['alias']; ?>" method="post" class="">
    <?php
    if(isset($hotel_id)){ ?>
        <input type="hidden" name="hotel_id" value="<?php echo $hotel_id; ?>">
        <?php
    } ?>



<div class="form-group">
    <label class="sr-only" for="from"></label>
    <div class="input-group">
        <div class="input-group-addon"><i class="fa fa-calendar"></i> <?php echo $texts['CHECK_IN']; ?></div>
        <input type="text" class="form-control" id="from_picker" name="from_date" value="<?php echo $from_date; ?>">
    </div>
</div>
<div class="form-group">
    <div class="input-group">
        <div class="input-group-addon"><i class="fa fa-calendar"></i> <?php echo $texts['CHECK_OUT']; ?></div>
        <input type="text" class="form-control" id="to_picker" name="to_date" value="<?php echo $to_date; ?>">
    </div>
</div>





<div class="form-group">
    <div class="input-group">
        <div class="input-group-addon"><i class="fa fa-tags"></i> <?php echo $texts['ROOM']; ?></div>
        <select class="form-control" name="room_id">
            <?php


            $result_room = $db->query("SELECT * FROM pm_room WHERE checked = 1 AND id_hotel = '.$hotel_id.' AND lang = ".LANG_ID);


            if($result_room !== false){
                foreach($result_room as $i => $row){ ?>
                    <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?></option>
                    <?php
                }
            } ?>
        </select>
    </div>
</div>




<div class="form-group">
    <div class="input-group">
        <div class="input-group-addon"><i class="fa fa-male"></i> <?php echo $texts['ADULTS']; ?></div>
                    <select name="num_adults" class="selectpicker form-control">
                        <?php
                        for($i = 1; $i <= $max_adults_search; $i++){
                            $select = ($_SESSION['num_adults'] == $i) ? " selected=\"selected\"" : "";
                            echo "<option value=\"".$i."\"".$select.">".$i."</option>";
                        } ?>
        </select>
    </div>
</div>
<div class="form-group">
    <div class="input-group">
        <div class="input-group-addon"><i class="fa fa-male"></i> <?php echo $texts['CHILDREN']; ?></div>
                    <select name="num_children" class="selectpicker form-control">
                        <?php
                        for($i = 0; $i <= $max_children_search; $i++){
                            $select = ($_SESSION['num_children'] == $i) ? " selected=\"selected\"" : "";
                            echo "<option value=\"".$i."\"".$select.">".$i."</option>";
                        } ?>
                    </select>
    </div>
</div>



<div class="form-group">
    <button class="btn btn-primary" type="submit" name="check_availabilities"><i class="fa fa-search"></i> <?php echo $texts['CHECK']; ?></button>
</div>
</form>

如果酒店只有一种房间类型,则使用此代码填充房间的下拉菜单:例如: https ://www.thesandsmaldives.com/resorts/niyama

但是,如果酒店有多个房间类型,则不会填充房间类型的下拉列表。例如: https ://www.thesandsmaldives.com/resorts/oblu-by-atmosphere-at-helengeli

我在这里做错了什么?

标签: phpmysql

解决方案


我在我购买它的原始编码器的帮助下弄清楚了它,它是一个语法错误。我使用的是单引号和双引号。使用其中一种,但不能同时使用;)我刚刚看到这是我的坏事,

所有房间类型都存储在 pm_room 表中,但该表中有一个酒店 ID 列,以查明房间类型的正确代码是哪个酒店

$result_room = $db->query("SELECT * FROM pm_room WHERE checked = 1 AND id_hotel = ".$hotel_id." AND lang = ".LANG_ID);

推荐阅读