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实现查看邮件是否已被阅读的方法

当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间。 复制代码 代码如下: <? error_repor...

PHP中计算字符串相似度的函数代码

similar_text — 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$perc...

30 个很棒的PHP开源CMS内容管理系统小结

30 个很棒的PHP开源CMS内容管理系统小结

1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳,提供简单的扩展定制途径,一个简单而且功能强大的模板系统...

PHP答题类应用接口实例

本文实例讲述了PHP答题类应用接口的实现方法。分享给大家供大家参考。具体实现方法如下: question_get.php文件如下: 复制代码 代码如下:<?php ...

php 删除数组元素

如果没有提供 callback 函数,array_filter() 将删除 input 中所有等值为 FALSE 的条目。 删除数组中为空值的元素就可以使用这个函数。 复制代码 代码如下...