如何只查询二级类别?

发布于 2024-11-16 22:56:23 字数 999 浏览 0 评论 0原文

这是我的代码,它显示所有类别,例如

一个
-A.1
-A.2
B
-B.1
-B.2

现在我希望它只显示

<块引用>

A.1
A.2
B.1
B.2

有什么想法吗?

    function current_categories($m,$id){
    $cat_array=array();
    $sql = "select * from `category`";
    $query = DB::Query($sql);
        while($row = DB::fetch_array($query)){
            $cat_array[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
        } 
        if($id==""){
            $id=0;
        }
    $n = str_pad('',$m,'-',STR_PAD_LEFT);
    $n = str_replace("-","&nbsp;&nbsp;&nbsp;&nbsp;",$n);
    for($i=0;$i<count($cat_array);$i++){
        if($cat_array[$i][2]==$id){
        echo "<li>"."<a href=\"/team/index.php?gid=".$cat_array[$i][0]."\">".$cat_array[$i][1]."</a></li>"; 
    current_categories($m+2,$cat_array[$i][0]);
        }
    }
}

this is my code, it displays all the categories like

A
-A.1
-A.2
B
-B.1
-B.2

And now i want it displays only

A.1
A.2
B.1
B.2

Any idea?

    function current_categories($m,$id){
    $cat_array=array();
    $sql = "select * from `category`";
    $query = DB::Query($sql);
        while($row = DB::fetch_array($query)){
            $cat_array[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
        } 
        if($id==""){
            $id=0;
        }
    $n = str_pad('',$m,'-',STR_PAD_LEFT);
    $n = str_replace("-","    ",$n);
    for($i=0;$i<count($cat_array);$i++){
        if($cat_array[$i][2]==$id){
        echo "<li>"."<a href=\"/team/index.php?gid=".$cat_array[$i][0]."\">".$cat_array[$i][1]."</a></li>"; 
    current_categories($m+2,$cat_array[$i][0]);
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半山落雨半山空 2024-11-23 22:56:23

我不知道您为顶级 classid 值输入什么值作为 classid 。也许是 NULL 或 -1?

function second_level_categories(){
    $sql = " SELECT lvl2.* FROM `category` as lvl1 "
          ." JOIN `category` as lvl2"
          ."     ON lvl1.id = lvl2.parent_id"
          ." WHERE lvl1.parent_id=VALUE_FOR_TOP_LEVEL"
          ." ORDER BY lvl1.sort ASC, lvl2.sort ASC"

    $result = DB::Query($sql);
    while($category = DB::fetch_array($result)){
        echo '<li><a href="/team/index.php?gid='.$category['id'].'">"';
        echo $category['name'];
        echo '</a></li>';
    } 
}

I don't know what value you put in as classid for the toplevel classid values. NULL or -1 perhaps?

function second_level_categories(){
    $sql = " SELECT lvl2.* FROM `category` as lvl1 "
          ." JOIN `category` as lvl2"
          ."     ON lvl1.id = lvl2.parent_id"
          ." WHERE lvl1.parent_id=VALUE_FOR_TOP_LEVEL"
          ." ORDER BY lvl1.sort ASC, lvl2.sort ASC"

    $result = DB::Query($sql);
    while($category = DB::fetch_array($result)){
        echo '<li><a href="/team/index.php?gid='.$category['id'].'">"';
        echo $category['name'];
        echo '</a></li>';
    } 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文