【问题标题】:How to Make Selection from Drop Down List Based on Previous Selection?如何根据先前的选择从下拉列表中进行选择?
【发布时间】:2013-12-04 09:02:44
【问题描述】:

为了做一个简单的说明,假设我在数据库中有一个名为 category 的表,它只包含 cat_id 和 cat_description 两列。现在,问题是如何制作一个显示 cat_id 的下拉列表,然后第二个下拉列表将显示与所选 cat_id 匹配的 cat_description。我已经提到了答案 Populate another select dropdown from database based on dropdown selection

但是它没有帮助,或者它对我来说太复杂了 t= 理解编码,因为我是网络语言的新手,以下是我的编码

<html>
 <body>
  <?php

 // attempt a connection
 $dbh = pg_connect("host=localhost dbname=name user=user");
      if (!$dbh) {
     die("Error in connection: " . pg_last_error());
 }

 // execute query
 $sql = "SELECT cat_id FROM category";
 $result = pg_query($dbh, $sql);
 if (!$result) {
     die("Error in SQL query: " . pg_last_error());
 }

 echo "<select cat_id='category'>";
 while ($select_query_array =   pg_fetch_array($result) )
 {
    echo "<option value='' >".htmlspecialchars($select_query_array["cat_id"])."</option>";
 }
 echo "</select>";


 $sql2 = "SELECT cat_description FROM category WHERE category.cat_id = cat_id previously selected";
 $result2 = pg_query($dbh, $sql2);
 echo "<select cat_description='category'>";
 while ($select_query_array =   pg_fetch_array($result2) )
 {
    echo "<option value='' >".htmlspecialchars($select_query_array["cat_description"])."</option>";
 }
 echo "</select>";

 // free memory
 pg_free_result($result);

 // close connection
 pg_close($dbh);
 ?>
</body>
</html> 

从我尝试研究的许多示例中,大多数都与 ajax 或 java 有关,但我对它们一无所知。因此,如果可能的话,我想以最简单的形式制作它,例如使用第二个 php 页面,但我不知道如何在第二页中使用第一页的选定值。 Ajax/Java 是可以接受的,因为我知道它会让生活更轻松,也许你们可以提供一个非常简单但完整的编码,以便我可以理解实际运行的内容。提前感谢所有帮助!

【问题讨论】:

  • 这不是 Java 代码。然而,在 Java 中,您将注册一个 ItemListener 来跟踪第一个中的更改,然后调用一个方法来重新填充第二个。希望对您有所帮助。

标签: java php jquery ajax


【解决方案1】:

如果不是太大,最好填充两个组合框...

猫 ID 组合框

<option 'cat_id'>cat_id</option>

猫描述组合框

<option 'cat_id'>cat_Desc</option>

并将默认值设置为“”,

将 Javascript onChange() 函数添加到“Cat ID Combo Box”以获取值并将其设置为“Cat Description Combo Box”值。

如果你想从数据库中填充第二个组合框,那么你需要使用AJAX 来填充而不刷新页面。

【讨论】:

    【解决方案2】:

    您可以从类别下拉列表中获取类别 ID 网址会是这样的

    http://localhost/test/cat_id.php?cat_id=5
    

    从 url 获取 id
    $cat_id=$_GET['cat_id'];
    然后写一个类似的查询

    select * from category where cat_id=".$cat_id."
    

    您将获得该查询的描述。 在第二个下拉列表中显示该数据

    【讨论】:

      猜你喜欢
      • 2012-06-20
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多