Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP/SQL动态菜单取决于不同的表_Javascript_Php_Jquery_Mysql_Css - Fatal编程技术网

Javascript PHP/SQL动态菜单取决于不同的表

Javascript PHP/SQL动态菜单取决于不同的表,javascript,php,jquery,mysql,css,Javascript,Php,Jquery,Mysql,Css,我正在尝试根据数据库中表的结果管理动态菜单 下面的代码是到目前为止我已经来了。。但我不能让它像我想的那样显示出来 我的数据库中有3个表,如下所示 ws\u类别 身份证 maincat(主要类别的名称) ws_子类别 身份证 子类别(子类别名称) parentcat(主类别的id) ws_subsubsubs 身份证 子类(第二子类名称) parentsub(子类别的id) 我想要实现什么? 有一个简单的垂直菜单,输出主要类别,单击,将显示与该主要类别相关的子菜单选项,如果子类别有第三

我正在尝试根据数据库中表的结果管理动态菜单

下面的代码是到目前为止我已经来了。。但我不能让它像我想的那样显示出来

我的数据库中有3个表,如下所示

ws\u类别

  • 身份证
  • maincat(主要类别的名称)
ws_子类别

  • 身份证
  • 子类别(子类别名称)
  • parentcat(主类别的id)
ws_subsubsubs

  • 身份证
  • 子类(第二子类名称)
  • parentsub(子类别的id)
我想要实现什么? 有一个简单的垂直菜单,输出主要类别,单击,将显示与该主要类别相关的子菜单选项,如果子类别有第三个子菜单/子菜单,它们将显示在

下面的代码是到目前为止我已经来了。。但我似乎不明白为什么它会多次输出主类别,而不是一次

说清楚一点,我不明白我应该如何使用join来实现这一点。我希望能够一次回显所有主要类别,一次回显子类别,如果有一个或多个第二子类别,我希望它们也回显。。如何使用join实现这一点?这是可能的还是我看错了方向

提前谢谢

PHP CSS
SQL请求将为每个主类别提供与其子类别相同的行数:

row 1: maincat1 | subcat1
row 2: maincat1 | subcat2
etc...
您可以请求选择所有maincat,对于每个maincat,再请求选择其所有子类别。大概是这样的:

PHP
太棒了!正是我想做的!我真的没有意识到我可以在这段时间内使用查询。。谢谢你的快速回复+1.
    $(window).on('load',function(){
//CLICK-HANDLERS=============================
    $('.dl_link').click(function(){
        var submenu = $(this).parent().children('.dl_sub_dd');
        if (submenu.css('display') == 'none') {
            $('.dl_sub_dd').hide(); //first hide any previously showing submenu's
            submenu.show(); //then show the current submenu
        } else {
            submenu.hide(); //hide the current submenu again
        }
    });
});
/*LINK------------------------*/
.dl_link {
    cursor:pointer;
}

/*DROPMENU--------------------*/
.dl_sub_dd {
    display:none;
}
row 1: maincat1 | subcat1
row 2: maincat1 | subcat2
etc...
<?php


$results = mysqli_query($link, "SELECT * FROM `ws_categories`;") or die (mysqli_error($link));
    while($row = mysqli_fetch_array($results)){
    echo '
<div class="dl_parent">
    <div class="dl_link">'.$row['maincat'].'</div>
    <div class="dl_sub_dd">
        <ul>';
             $query = mysqli_query($link, "SELECT * FROM `ws_categories` INNER JOIN `ws_subcategories` ON `ws_categories`.`id` = `ws_subcategories`.`parentcat` WHERE `ws_categories`.`id` = " . $row['id'] . ";") or die (mysqli_error($link));
            while($row2 = mysqli_fetch_array($query)) {
                echo '<li>'.$row2['subcat'].'</li>';
            }
        echo '</ul>
    </div>
</div>
    ';
   }
?>