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 相关文章推荐
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
PHP连接sql server 2005环境配置及问题解决
Aug 08 PHP
php动态生成缩略图并输出显示的方法
Apr 20 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
php读取和保存base64编码的图片内容
Apr 22 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
Laravel如何自定义command命令浅析
Mar 23 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
提问的智慧
2006/10/09 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python3图片文件批量重命名处理
2019/10/31 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
入党自我评价范文
2014/02/02 职场文书
工作决心书范文
2014/03/11 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
交通事故协议书范本
2014/11/18 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书