当前位置: 代码迷 >> PHP >> PHP SMARTY 双循环(递归)输出分类 有关问题
  详细解决方案

PHP SMARTY 双循环(递归)输出分类 有关问题

热度:529   发布时间:2016-04-29 01:09:58.0
PHP SMARTY 双循环(递归)输出分类 问题
模版
PHP code
{foreach from=$classlist item=newsclass}    <DIV class="bg03"><a href="news.php?classid={$newsclass.id}&{if $newsclass.ispro eq 1}ispro=true{/if}" target="main">{$newsclass.classname}</a></DIV>{/foreach}


程序
PHP code
$sql = "select * from jh_newsclass where parentid = 0";$result = $mysqli->query($sql);while ($row = $result->fetch_row()) {    $classlist[] = array(        'id'=>$row[0],        'classname'=>$row[2],        'parentid'=>$row[1],        'ispro'=>$row[3],            );}$result->close();$mysqli->close();$smarty->assign('classlist',$classlist);$smarty->assign('webname',Webname);$smarty->display('admin/left.htm');



这样只能输出一级分类. 我需要在一级分类下再输出二级..三级..该怎么写呀? 


以前用ASP输出的效果
HTML code
              <DIV class="bg03">新闻专题</DIV><div class="forumlist_groups"><DIV align=left><ul><li class="forumli"><a href='news.asp?classid=3&newsclass=3' target='main'>+--<img id="folder180" src="images/leaf.gif" width="18" height="18" align="absmiddle"><font color="">新闻动态</font></a></li><li class="forumli"><a href='news.asp?classid=6&newsclass=6' target='main'>+--<img id="folder180" src="images/leaf.gif" width="18" height="18" align="absmiddle"><font color="">美大专题</font></a></li><li class="forumli"><a href='news.asp?classid=16&newsclass=16' target='main'>+--<img id="folder180" src="images/leaf.gif" width="18" height="18" align="absmiddle"><font color="">月兔专题</font></a></li></ul></div></div>    <DIV class="bg03"><a href="news.asp?classid=14&newsclass=14" target="main">供求信息</a></DIV>              <DIV class="bg03">产品展示</DIV><div class="forumlist_groups"><DIV align=left><ul><li class="forumli"><a href='news.asp?classid=18&ispro=true&newsclass=18' target='main'>+--<img id="folder180" src="images/leaf.gif" width="18" height="18" align="absmiddle"><font color="">美大灶具</font></a></li><li class="forumli"><a href='news.asp?classid=19&ispro=true&newsclass=19' target='main'>+--<img id="folder180" src="images/leaf.gif" width="18" height="18" align="absmiddle"><font color="">月图厨柜</font></a></li><li class="forumli"><a href='news.asp?classid=20&ispro=true&newsclass=20' target='main'>+--<img id="folder180" src="images/leaf.gif" width="18" height="18" align="absmiddle"><font color="">集成效果</font></a></li></ul></div></div>



原来的ASP代码 
HTML code
<%dim strsSet Rs = server.CreateObject(JH_RS)sql = "select * from jh_newsclass where parentid = 0"Rs.Open SQL,Conn,1,1while not rs.eof%><%        set strs = conn.execute("select * from jh_newsclass where parentid = " & rs("id"))        if strs.eof and strs.bof then%>    <DIV class="bg03"><a href="news.php?classid=<%=rs("id")%>&newsclass=<%=rs("id")%><%if rs("ispro") then response.Write("&ispro=true")%>" target="main"><%=rs("classname")%></a></DIV><%        else%>              <DIV class="bg03"><%=rs("classname")%></DIV><%        end if%>        <%call showparentclass("+","--",rs("id"))%><%rs.movenextwendrs.closeset rs = nothing%><%sub showparentclass(astr,tree,parentid)    dim showparentclassrs,temprs    set showparentclassrs = conn.execute("select * from Jh_newsclass where parentid = " & parentid)    if showparentclassrs.eof then         exit sub    else    response.Write("<div class=""forumlist_groups""><DIV align=left><ul>")        while not showparentclassrs.eof            response.Write"<li class=""forumli"">"            set temprs = conn.execute("select * from Jh_newsclass where parentid = " & showparentclassrs("id"))            if temprs.eof and temprs.bof then                response.Write"<a href='news.php?classid="&showparentclassrs("id")                if showparentclassrs("ispro") then response.Write("&ispro=true")                response.Write"&newsclass="&showparentclassrs("id")&"' target='main'>" & astr & tree & "<img id=""folder180"" src=""images/leaf.gif"" width=""18"" height=""18"" align=""absmiddle""><font color="""">" & showparentclassrs("classname")&"</font></a>"            else                response.Write astr & tree & "<img id=""folder180"" src=""images/folderClosed.gif"" width=""18"" height=""18"" align=""absmiddle"">" & showparentclassrs("classname")            end if            set temprs = nothing            response.Write"</li>"            call showparentclass(astr,tree&"--",showparentclassrs("id"))        showparentclassrs.movenext        wend    response.Write("</ul></div></div>")    end ifend sub%>