dreamfly0514 2011-06-23 10:31
浏览 21

如何仅查询第二级别类别?

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]);
        }
    }
}
  • 写回答

1条回答 默认 最新

  • dongxiqian2787 2011-06-23 11:12
    关注

    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>';
        } 
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助