根据PHP中选择的第一个下拉框填充第二个下拉框

Populate 2nd dropdown based on 1st dropdown selected in PHP

本文关键字:填充 第二个 第一个 PHP 选择 根据      更新时间:2023-09-26

我使用PHP和Postgresql/PostGIS数据库。我的数据库模式是这样的。

  1. divname | distname
  2. dhaka | Manikganj
  3. dhaka | Narayanganj
  4. dhaka | Munshiganj
  5. 库尔纳|杰索尔
  6. 库尔纳|库什蒂亚
  7. 库尔纳|梅赫普尔

我正在使用以下代码

<?php
$con = pg_connect("Connection Parameter");
if (!$con)
  {
  die("Could not connect: " . pg_last_error());
  }
$divquery = "SELECT DISTINCT divname FROM union_bgd 
        ORDER  BY divname";
$distquery = "SELECT DISTINCT distname FROM union_bgd
        ORDER  BY distname";
$resultDiv = pg_query($con, $divquery); 
$resultDist = pg_query($con, $distquery);
    ?>
    Division
  <select id="division" name="division" onclick = "">
  <option value="" selected="selected">Select a Division</option>
  <?php
      while($dd1 = pg_fetch_array( $resultDiv )) 
        {
        echo '<option value= "' . $dd1['divname'] . '">' . $dd1['divname'] . '</option>';
        }
    ?>
</select></br>
District
<select id="district" name="district" onclick = "">
  <option value="" selected="selected">Select a District</option>
  <?php
      while($dd2 = pg_fetch_array( $resultDist )) 
        {
        echo '<option value= "' . $dd2['distname'] . '">' . $dd2['distname'] . '</option>';
        }
    ?>
</select>
 <?php   
pg_close($con);
?>

目前它在下拉菜单中填充了所有的divname和distname,但我想如果"Dhaka"被选中,只有Dhaka下的distname会显示在第二个下拉菜单中。

谢谢

应该有where子句
$distquery = "SELECT DISTINCT distname FROM union_bgd ORDER  BY distname";

像这样编辑

$distquery = "SELECT DISTINCT distname FROM union_bgd where divname=".$selected_dist." ORDER  BY distname";