smarty实现多级分类的方法_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程序设计有所帮助。

时间: 2025-01-21 01:26:55

smarty实现多级分类的方法_php技巧的相关文章

PHP递归遍历多维数组实现无限分类的方法_php技巧

本文实例讲述了PHP递归遍历多维数组实现无限分类的方法.分享给大家供大家参考,具体如下: <?php //$data[]=array('id'=>1,'parentid'=>0,'name'=>'中国','img'=>'52091199'); $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国'); $data[]=array('id'=>2,'parentid'=>0,'name'=>'美国')

php递归实现无限分类的方法_php技巧

本文实例讲述了php递归实现无限分类的方法.分享给大家供大家参考.具体如下: <?php $rows = array( array( 'id' => 1, 'name' => 'dev', 'parentid' => 0 ), array( 'id' => 2, 'name' => 'php', 'parentid' => 1 ), array( 'id' => 3, 'name' => 'smarty', 'parentid' => 2 ),

php使用get_class_methods()函数获取分类的方法_php技巧

本文实例讲述了php使用get_class_methods()函数获取分类的方法.分享给大家供大家参考,具体如下: <?php /* * Created on 2016-7-20 */ class Window //首先定义一个类 { var $state; //窗户的状态 function close_window() //关窗户方法 { $this->state="close"; //窗户的状态为关 } function open_window() //开窗户方法 {

PHP简单实现无限级分类的方法_php技巧

本文实例讲述了PHP简单实现无限级分类的方法.分享给大家供大家参考,具体如下: 数据库结构: CREATE TABLE IF NOT EXISTS `city` ( `id` int(11) NOT NULL auto_increment, `name` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL default '0', `parentId` int(11) NOT NULL default '0' PRIMA

php实现递归与无限分类的方法_php技巧

本文实例讲述了php实现递归与无限分类的方法,分享给大家供大家参考.具体实现方法如下: <?php echo "<pre>"; $area = array( array('id'=>1,'area'=>'北京','pid'=>0), array('id'=>2,'area'=>'广西','pid'=>0), array('id'=>3,'area'=>'广东','pid'=>0), array('id'=>4

PHP超牛逼无限极分类生成树方法_php技巧

你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了. 这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了. 复制代码 代码如下: function generateTree($items){     $tree = array();     foreach($items as $item){         if(isset($items[$item['pid']])){             $items[$item[

php+mysql数据库实现无限分类的方法_php技巧

本文实例讲述了php+mysql数据库实现无限分类的方法.分享给大家供大家参考.具体分析如下: 这款php无限分类代码比较完整理包括了数据库是mysql的,有增加.删除.编辑.移动的功能,同时还提供数据库sql表结构.代码如下: 复制代码 代码如下: //连接数据库 $link = mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('class',$link)or die(mysql_error

php创建多级目录的方法_php技巧

本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: <?php /* 写出一个能创建多级目录的PHP函数 */ function createdirlist($path,$mode){ if (is_dir($path)){ //判断目录存在否,存在不创建 echo "目录'" . $path . "'已经存在"; //已经存在则输入路径 }else{ //不存在则创建目录 $re=mkdir($path,$mode,true);

删除无限分类并同时删除它下面的所有子分类的方法_php技巧

复制代码 代码如下: $act = isset ($_GET['act']) ? trim ($_GET['act']) : "; if ($act == 'del') { $sort_id = isset ($_GET['id']) ? intval($_GET['id']) : '0' ; $sort_ids = $sort_id; $childrenIds = getChildrenIds ($sort_id); if (!empty ($childrenIds)) { $sort_ids