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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
dedecms系统常用术语汇总
Apr 03 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
两款万能的php分页类
Nov 12 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 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
深入了解php4(1)--回到未来
2006/10/09 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
PHP实现八皇后算法
2019/05/06 PHP
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
小学安全教育材料
2014/02/17 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
同学聚会邀请函
2015/01/30 职场文书