0

你好,真的感谢这个伟大的网站,好的,这是我有一个这样的数据库的想法:

CategoryID CategoryName ParentID
---------------------------------
1          FirstMenuCat1          NULL
2          FirstMenuCat2          NULL
3          SubMenuCat1            1
4          SubMenuCat2            1
5          SubMenuCat3            2

我希望它显示 2 个菜单的想法是从菜单 1 中选择选项,然后启用第二个菜单以从中选择选项,但我希望菜单 2 显示具有相同 parentID 的选项

function get_tables(){
require_once ('mysqli_connect.php');

$queryCats ="SELECT *
                    FROM menus
                    WHERE ParentID = NULL
                    ORDER BY CategoryID;";
 $querySubCats ="SELECT *
                    FROM menus
                    WHERE ParentID = $selected
                    ORDER BY CategoryID;";

 }
 echo  $queryCats;
 echo '<select name="cat">';
 foreach ($queryCats as $key =>$value){
     echo "<option value=\"$key\">
     $value</option>\n";
 }
 echo '</select>';
 $selected = '</select>';

 echo '<select name="subcat">';
 foreach ($querySubCats as $key =>$value){
     echo "<option value=\"$key\">
     $value</option>\n";
 }
 echo '</select>';



 echo '<h1>Select a Category:</h1>
 <form method="post">';

 get_tables();
 echo '</form>';
 ?>

好的,现在我试图让它出现,但我仍然需要帮助有什么想法吗?

4

1 回答 1

0

你需要把它分成两部分:

  1. 获取并显示基本菜单的值
  2. when a value is selected load the appropriate secondary menu

v 类似的页面有很多示例。继续阅读ajaxdynamic menus你可能会找到你想要的。

如果你想通过 PHP 完成整个事情,那么它是类似的过程。更改您的函数标题以包含 $selection 参数。选择带有那个的菜单ParentID。通过使用 $selection = NULL 调用此页面/函数来启动该过程。

编辑:

change: 
  function get_tables(){  
    -to-  
  function get_tables( $selection ){
于 2013-04-09T13:15:46.843 回答