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

WBOY
Freigeben: 2016-06-13 12:48:48
Original
1020 Leute haben es durchsucht

递归目录树,怎样套上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 />
    }
    Nach dem Login kopieren

    调用时
    echo nav($id);

    我都是用 ajax 动态加载的,所以没有递归。
    至少目前不适合你
    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!