smarty实现多级分类的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了smarty实现多级分类的方法。分享给大家供大家参考。具体分析如下:

这里简单的介绍一下利用php smarty 多级分类读出与循环方法,单循环很简单,但是多级就要复杂一点,下面我们来看看,感兴趣的朋友可以看来一下:

复制代码 代码如下:
<?php
$result=mysql_query("SELECT id,description,parent_id,name,sort_order FROM article_categoey WHERE parent_id=0 order by id");
while ($row = mysql_fetch_array($result)){
$class[]=$row;
//$row['id']是分类id,parent_id是子分类所属id
$result_sub=mysql_query("SELECT id,description,parent_id,name,sort_order FROM article_categoey WHERE parent_id='".$row['id']."' order by id");
while ($row_sub = mysql_fetch_array($result_sub)) {
$subclass[]=$row_sub;
}
$smarty->assign("subclass", $subclass);
}
$smarty->assign("class", $class);
$smarty->display('articles.html');
?>

HTML 代码如下:
复制代码 代码如下:
<ul>
{foreach name=cat from=$class item=cat}
<li><strong>{$cat.name}</strong>[{$cat.id}]</li>
<ul style="padding-left:20px;">
{foreach name=subcat from=$subclass item=subcat}
{if $subcat.parent_id==$cat.id}
<li>{$subcat.name}[{$subcat.parent_id}]</li>
{/if}
{/foreach}
</ul>
{/foreach}
</ul>

运行结果如下图所示:

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

PHP生成excel时单元格内换行问题的解决方法

翻出来源码开了下,字符串中使用换行的方法为"Name:{$name}\nAddress:{$adress}\nCity:{$city}\nCountry:{$country}\n ......

php中用date函数获取当前时间有误的解决办法

初学PHP做网站,想在页面上获得当前时间,学过编程的人都知道用时间函数date(),先用这个函数格式化一个本地时间/日期,先写个测试代码吧,结果输出时间比实际时间少了8小时,这是什么原因...

PHP中获取文件扩展名的N种方法小结

第1种方法: 复制代码 代码如下: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: 复...

Trying to clone an uncloneable object of class Imagic的解决方法

在windows下安装完后提示:Fatal error: Trying to clone an uncloneable object of class Imagick in C:\www...

php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法

本文实例讲述了php下foreach()错误提示Warning: Invalid argument supplied for foreach() 的解决方法。分享给大家供大家参考。具体实...