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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
php实现mysql同步的实现方法
Oct 21 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
PHP面向对象精要总结
Nov 07 PHP
php查看网页源代码的方法
Mar 13 PHP
PHP邮件群发机实现代码
Feb 16 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 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读取30天之内的根据算法排序的代码
2008/04/06 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
yii中widget的用法
2014/12/03 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python过滤列表用法实例分析
2016/04/29 Python
python 调用c语言函数的方法
2017/09/29 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
Python Django 命名空间模式的实现
2019/08/09 Python
通过自学python能找到工作吗
2020/06/21 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
继承公证书样本
2014/04/04 职场文书
我的长生果教学反思
2014/04/28 职场文书
经营理念标语
2014/06/21 职场文书
电话客服工作职责
2014/07/27 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
委托收款证明
2015/06/23 职场文书