【问题标题】:How do I echo a value into an option form from mysql如何将值从 mysql 回显到选项表单中
【发布时间】:2017-12-01 07:20:05
【问题描述】:

我在表单上有两个下拉/选择输入,房间类型客人数量它们连接到mysql。

如何使我的客人数量的值自动更改为与房间类型相关的任何数据/strong>。

例如,房间类型A最多只能有2位客人,而在mysql上有有房间数量和客人数量限制的房间类型表。

我如何回应 客人限制到客人数量输入表格?

这是我的房间类型代码:

<h5>Room Type</h5>

    <select id="category" name="category" required="">

      <?php
      include 'connect.php';
      $room= "SELECT * FROM roomtype";
       $resroom = $conn->query($room);
        while($roomtype = $resroom->fetch_assoc()){
        ?>
      <option value="<?php echo $roomtype['roomtype'];?>" ><?php echo $roomtype['roomtype'];?></option>

        <?php 
        $max = $roomtype['guests'];
        }?>
        </select>

这是我的客人数量代码:

<h5>Number of Guests *</h5>
<select id="category1" name="guests" required="">
 <?php
 include 'connect.php';
 $inc = 1;
 if(isset($_POST))    
 {
 $category = $_POST['category']; 
 }
 $guest = "SELECT * FROM roomtype WHERE roomtype = $category";
  $g = $conn->query($guest);
   while($guest1 = $g->fetch_assoc()){
 while ($guest1 ['guests'] < 0){
  ?>
  <option value="1"><?php echo $inc; $inc = $inc + 1; }}?></option>
   </select>

我的连接/数据库代码:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "booking";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>

roomtypetable 包含三列 idroomtypeguests

【问题讨论】:

  • 你需要使用ajax
  • 如果我使用 Ajax,正确的代码是什么?你能指点我一个教程或类似的问题吗?谢谢!
  • 告诉我你是如何定义每个房间的客人数量的......?
  • 房间数量已经登记在预订数据库下的房间类型数据库表中。 RoomType A 最多只有 2 个房间,RoomType B 最多只有 3 个房间,等等。
  • NO.. 我想问一下系统是如何知道这个房间的限制是这个.. 您正在输入数据库中每个房间的客人数量。正确..?

标签: php mysql


【解决方案1】:

您需要借助 JQuery 而不是 php 来实现相同的目标。因为这个操作会发生在客户端。

您可以做的是在两个名为 value 的选择选项中添加一个命令属性,以及您将从 mysql 获取的 id。

除此之外,您需要处理 onselect 事件,您需要更改 numberofguest 中的值。

更多详情:how to change a selections options based on another select option selected?

【讨论】:

  • 谢谢!这就是我需要的答案。
【解决方案2】:

首先,您必须选择房间数据以及每个房间的客人人数..

现在像这样编码它们

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h5>Room Type</h5>
<select id="category" name="category" required="">
    <option value="0">Room Number</option>
    <?php 
        include 'connect.php';
        $room= "SELECT * FROM roomtype";
        $resroom = $conn->query($room);
        while($roomtype = $resroom->fetch_assoc())echo '
    <option value="'.$roomtype['roomtype'].'" data-limit="'.$roomtype['guests'].'" >'.$roomtype['roomtype'].'</option>';
    ?>
</select><br>
<h5>Number of Guests</h5>
<select id="guests" name="guest"><option value="">Number of Guests</option></select>

jQuery

<script>
    $('#category').change(function(e) {
        var limit = parseInt($(this).find(':selected').data('limit')); //get data-limit of selected option
        var html = '<option value="">Number of Guests</option>';
        for(i=1;i<=limit;i++)html = html+'<option value="'+i+'">'+i+' Guest(s)</option>'; //this loop run from 1 to max numbers of guest
        $('#guests').html(html);
    });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多