显示“选择选项更改时从数据库选择选项”


display select option from database when select option change

<tr>
  <td><label class="label label-success">Building Name: </label></td>
  <td>
    <select class="form-control" name="building_name" required>
      <option value="">Select Building</option>
      <?php
      include '../Database/db.php';
      $res=mysql_query("SELECT * FROM building");
      while($row = mysql_fetch_array($res)){
      ?>
      <option value="<?php echo $row['building_name']; ?>"><?php echo $row['building_name']; ?></option>
      <?php } ?>
    </select>
  </td>
</tr>
<tr>
  <td><label class="label label-success">Floor: </label></td>
  <td>
    <select class="form-control" name="floor" required>
      <option value="">Select Floor</option>
      <option>></option>
    </select>
  </td>
</tr>

谁能帮我 我想从数据库中显示所选建筑物的楼层。 如果我选择建筑物,楼层将显示在选择选项楼层上。

在不知道您的数据库设置或结构的情况下,下面是如何实现此目的的示例:

<?php require_once('../Database/db.php'); ?>
<tr>
  <td><label class="label label-success">Building Name: </label></td>
  <td>
    <select class="form-control" name="building_name" required">
      <option value="">Select Building</option>
      <?php
      $res=mysql_query("SELECT * FROM building");
      while($row = mysql_fetch_array($res)){
      ?>
      <option value="<?php echo $row['building_name']; ?>"><?php echo $row['building_name']; ?></option>
      <?php } ?>
    </select>
  </td>
</tr>
<tr>
  <td><label class="label label-success">Floor: </label></td>
  <td>
    <select class="form-control" name="floor" required>
      <option value="">Select Floor</option>
      <?php
      $building_name = mysql_real_escape_string($_POST['building_name']);
      $res2=mysql_query("SELECT * FROM floor WHERE building_id = '{$building_name}'");
      while($row = mysql_fetch_array($res2)){
      ?>
      <option value="<?php echo $row['floor_name']; ?>"><?php echo $row['floor_name']; ?></option>
      <?php } ?>
    </select>
  </td>
</tr>

您需要将发布的参数传递给 SQL 中的 WHERE 子句。请注意,您应该从发布的参数中转义恶意代码。

我还假设您在 form 标签中具有此 html 代码以及提交按钮

您应该使用 AJAX 获取要在 DROPDOWN 中显示的数据库值

$('#building_name').change(function(){
var building_name=  $('#building_name').val();
$.ajax({
url: "index.php", //Change it yours
type: "post",
data: {building_name: building_name}, 
success: function(data) {
    if(data != "false")
{
    $('#Floor').html(data); 
}
else{
alert("No value");}
}
});
});

而 PHP 函数应该是

  $building_name = mysql_real_escape_string($_POST['building_name']);
  $res2=mysql_query("SELECT * FROM building  WHERE building_name = '{$building_name}'");
  while($row = mysql_fetch_array($res2)){
  echo '<option value="'.$row['floor_name'].'">'.$row['floor_name'].'</option>';
  }