smarty实现多级分类的方法

yipeiwu_com6年前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验证类的封装与使用方法详解

PHP验证类的封装与使用方法详解

本文实例讲述了PHP验证类的封装与使用方法。分享给大家供大家参考,具体如下: <?php /** * Created by PhpStorm. * User: ji...

phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法

1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动 (请查看正确安装Mysql的方法) 2、在系统的 system32(C:\windows\system32)...

PHP编码转换函数 自动转换字符集支持数组转换

复制代码 代码如下: // 自动转换字符集 支持数组转换 function auto_charset($fContents, $from='gbk', $to='utf-8') { $f...

golang、python、php、c++、c、java、Nodejs性能对比

golang、python、php、c++、c、java、Nodejs性能对比

  本人在PHP/C++/Go/Py时,突发奇想,想把最近主流的编程语言性能作个简单的比较, 至于怎么比,还是不得不用神奇的斐波那契算法。可能是比较常用或好玩吧。   好了,talk i...

PHP简单获取及判断提交来源的方法

本文实例讲述了PHP简单获取及判断提交来源的方法。分享给大家供大家参考,具体如下: echo $_SERVER['HTTP_REFERER']; 这个获取上个页面的url 例如...