PHPSMARTY双循环(递归)输出分类有关问题
PHP SMARTY 双循环(递归)输出分类 问题模版
- PHP code
{foreach from=$classlist item=newsclass} {$newsclass.classname} {/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
- +--新闻动态
- +--美大专题
- +--月兔专题
- +--美大灶具
- +--月图厨柜
- +--集成效果
新闻专题
原来的ASP代码
- HTML code
- " set temprs = conn.execute("select * from Jh_newsclass where parentid = " & showparentclassrs("id")) if temprs.eof and temprs.bof then response.Write"" & astr & tree & "" & showparentclassrs("classname")&"" else response.Write astr & tree & "" & showparentclassrs("classname") end if set temprs = nothing response.Write" " call showparentclass(astr,tree&"--",showparentclassrs("id")) showparentclassrs.movenext wend response.Write("
<% dim strs Set Rs = server.CreateObject(JH_RS) sql = "select * from jh_newsclass where parentid = 0" Rs.Open SQL,Conn,1,1 while not rs.eof %> <% set strs = conn.execute("select * from jh_newsclass where parentid = " & rs("id")) if strs.eof and strs.bof then %> &newsclass=<%=rs("id")%><%if rs("ispro") then response.Write("&ispro=true")%>" target="main"><%=rs("classname")%> <% else %> <%=rs("classname")%> <% end if %> <%call showparentclass("+","--",rs("id"))%> <% rs.movenext wend rs.close set 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("
- ")
while not showparentclassrs.eof
response.Write"
PHP之友评论