繁体   English   中英

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

[英]How to Make Selection from Drop Down List Based on Previous Selection?

为了简单说明,假设我在数据库中有一个名为category的表,它仅包含cat_id和cat_description两列。 现在,问题是如何制作一个显示cat_id的下拉列表,然后第二个下拉列表将显示与所选cat_id匹配的cat_description。 我已经在基于下拉选择填充数据库中的另一个选择下拉列表中提到了答案

但是,这对我没有帮助,或者可能对我来说太复杂了,因为我是网络语言中的新手,所以请理解编码,以下是我的编码

<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是可以接受的,因为我知道它可以使工作变得更轻松,也许你们可以给出一个非常简单而完整的编码,以便使我了解实际运行的程序。 预先感谢所有帮助!

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

猫ID组合框

<option 'cat_id'>cat_id</option>

猫形说明组合框

<option 'cat_id'>cat_Desc</option>

并将“默认值”设置为“”,

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

而且,如果要从数据库填充“第二组合”框,则需要使用AJAX进行填充而不刷新页面。

您可以从类别的下拉列表中获取类别ID。网址将如下所示

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

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

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

您将通过该查询获得描述。 在第二个下拉菜单中显示该数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM