> 백엔드 개발 > PHP 튜토리얼 > 递归目录树,怎么套上UL LI

递归目录树,怎么套上UL LI

WBOY
풀어 주다: 2016-06-13 12:48:48
원래의
1047명이 탐색했습니다.

递归目录树,怎样套上UL LI

本帖最后由 XingGuangYingYing 于 2013-04-15 08:18:54 编辑 function nav($parent){
$sql = mysql_query("select * from menu where parent = '$parent'");
while($row = mysql_fetch_array($sql)){
echo '
  • '.$row['name'].'';
    nav($row['id']);
    echo '
  • ';

    }
    }

    子类要怎么套上UL输出呢?   

    类似这样


    • 音乐
           
      • 流行

      •          
      • 经典
                      

                        
        • 80年代

        •               
        • 90年代

        •               

                  

      •      


    • 电影

    • 书籍




    ------解决方案--------------------
    你边查询边输出,于是你就无法知道当前节点是否有子节点(因为还未读到)
    所以你需要想将查询结果读到数组 http://bbs.csdn.net/topics/390364669
    然后再递归输出

    你也可以用变量缓存待输出的内容,等递归结束时再输出
    function nav($parent){<br />
      $res = '';<br />
      $sql = mysql_query("select * from menu where parent = '$parent'");<br />
      while($row = mysql_fetch_array($sql)){<br />
        $res .= '<li><a href="'.$row['id'].'">'.$row['name'].'</a>';<br />
        $t = nav($row['id']);<br />
        if(! empty($t)) $res .= "<ul>$t</ul>";<br />
        $res .= '</li>';<br />
      }<br />
      return $res;<br />
    }
    로그인 후 복사

    调用时
    echo nav($id);

    我都是用 ajax 动态加载的,所以没有递归。
    至少目前不适合你
    관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿