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


Posted in PHP onJune 01, 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 相关文章推荐
深入分析PHP引用(&)
Sep 04 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
php截取字符串函数分享
Feb 02 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
PHP编写RESTful接口
Feb 23 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
PHP错误处理函数register_shutdown_function使用示例
Jul 03 PHP
Laravel 加载第三方类库的方法
Apr 20 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
PHP 八种基本的数据类型小结
Jun 01 #PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 #PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 #PHP
比较时间段一与时间段二是否有交集的php函数
May 31 #PHP
实用PHP会员权限控制实现原理分析
May 29 #PHP
允许phpmyadmin空密码登录的配置方法
May 29 #PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 #PHP
You might like
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
python编程使用协程并发的优缺点
2018/09/20 Python
python设置环境变量的作用和实例
2019/07/09 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
什么是Python中的顺序表
2020/06/02 Python
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
公务员的自我鉴定
2013/10/26 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
求职意向书
2014/04/01 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
债务追讨律师函
2015/06/24 职场文书