php smarty 二级分类代码和模版循环例子


Posted in PHP onJune 16, 2011

二级分类的数据表结构如下:

php smarty 二级分类代码和模版循环例子
PHP代码如下

/** 
@ 文章分类 含二级分类 
@ param int $rootnum -- 一级分类数量 
@ param int $childnum -- 二级分类数量 
@ 返回值 array 
@ date 2011.2.24 
*/ 
function temp_articletreecate($rootnum,$childnum){ 
if(!isnumber($rootnum)){ 
$rootnum = 10; 
} 
if(!isnumber($childnum)){ 
$childnum = 10; 
} 
$category = array(); 
$parent_sql = "SELECT cateid,catename FROM ".TABLE_PREFIX."articlecate WHERE parentid=0 AND depth=0 AND flag=1 ORDER BY orders ASC"; 
if(intval($rootnum)>0){ 
$parent_sql.=" LIMIT $rootnum"; 
} 
$parent_cate = $GLOBALS['db']->getall($parent_sql); 
foreach($parent_cate as $parent_key => $parent_value){ 
//子类数组名为 childcategory 根据情况自定义名称 
$category[] = array('cateid'=>$parent_value['cateid'],'catename'=>$parent_value['catename'],'childcategory'=>array()); //读取子类 
$child_sql = "SELECT cateid,catename FROM ".TABLE_PREFIX."articlecate WHERE parentid=".$parent_value['cateid']." AND flag=1 ORDER BY orders ASC"; 
if(intval($childnum)>0){ 
$child_sql.=" LIMIT $childnum"; 
} 
$child_cate = $GLOBALS['db']->getall($child_sql); 
foreach($child_cate as $child_key => $child_value){ 
$category[count($category)-1]['childcategory'][] = array('cateid'=>$child_value['cateid'],'catename'=>$child_value['catename']); 
} 
} 
return $category; 
}

PHP页面调用分类,如index.php
$goodscatetree = array(); 
$goodscatetree = temp_goodstreecate(4,0); //调用分类函数(含二级分类)4--表示一级分类只显示4个,0--表示二级分类不限数量 
$tpl>assign("goodscatetree",$goodscatetree); //执行smarty引擎 
$tpl->display->(index.tpl); //输出smarty模版页面

TPL模版页面输出分类,如index.tpl页面
{section name=p loop=$goodscatetree} 
一级分类:{$goodscatetree[p].catename} 
{section name=c loop=$goodscatetree[p].childcategory} 
二级分类:{$goodscatetree[p].childcategory[c].catename} 
{/section} 
{/section}
PHP 相关文章推荐
第4章 数据处理-php字符串的处理-郑阿奇(续)
Jul 04 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 #PHP
php中session_unset与session_destroy的区别分析
Jun 16 #PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 #PHP
php的memcached客户端memcached
Jun 14 #PHP
PHP模块 Memcached功能多于Memcache
Jun 14 #PHP
php模块memcache和memcached区别分析
Jun 14 #PHP
sphinx增量索引的一个问题
Jun 14 #PHP
You might like
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
php实现登录页面的简单实例
2019/09/29 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
python网络编程学习笔记(一)
2014/06/09 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
python实现连续图文识别
2018/12/18 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
wxPython实现分隔窗口
2019/11/19 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
python实现单机五子棋
2020/08/28 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
高一学生评语大全
2014/04/25 职场文书
清明节演讲稿
2014/05/27 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
幼儿园开学通知
2015/04/24 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书