首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当选择选项更改时,从数据库中显示选择选项

问当选择选项更改时,从数据库中显示选择选项
EN

Stack Overflow用户
提问于 2016-02-26 09:58:45
回答 2查看 73关注 0票数 2
代码语言:javascript
复制
<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>

有人能帮我吗?我想从数据库中显示选定建筑物的楼层。如果我选择的建筑,地板将显示在选择的楼层。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-26 10:07:41

应该使用AJAX获取要在下拉列表中显示的数据库值。

代码语言:javascript
复制
$('#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函数应该是

代码语言:javascript
复制
  $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>';
  } 
票数 0
EN

Stack Overflow用户

发布于 2016-02-26 10:07:34

在不了解数据库设置或结构的情况下,这里有一个如何实现这一目标的示例:

代码语言:javascript
复制
<?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>

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

我还假设在form标记中有这个html代码和一个提交按钮

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35648559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档