如何根据以前的选择从下拉列表中进行选择?

时间:2013-12-04 09:02:45

标签: java php jquery ajax

为了做一个简单的说明,假设我在数据库中有一个名为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是可以接受的,因为我知道它会让生活更轻松,也许你们可以提供一个非常简单但完整的编码,这样我就能理解实际运行的内容。提前感谢所有帮助!!

2 个答案:

答案 0 :(得分:1)

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

Cat ID组合框

<option 'cat_id'>cat_id</option>

Cat描述组合框

<option 'cat_id'>cat_Desc</option>

并将默认值设置为“”,

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

如果您想从数据库中填充Second Combo框,则需要使用AJAX进行填充而不刷新页面。

答案 1 :(得分:0)

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

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

从网址获取ID $ CAT_ID = $ _ GET [ 'CAT_ID'];
然后写一个像

这样的查询
select * from category where cat_id=".$cat_id."

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