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开发过程中关于继承的使用方法分享
Jun 17 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
php实现统计邮件大小的方法
Aug 06 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
常用PHP框架功能对照表
Oct 23 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
PHP检测用户语言的方法
Jun 15 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
swoole_process实现进程池的方法示例
Oct 29 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会话操作之cookie用法分析
2016/09/28 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
详解python持久化文件读写
2019/04/06 Python
python机器人运动范围问题的解答
2019/04/29 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
解决python 文本过滤和清理问题
2019/08/28 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python requests设置代理的方法步骤
2020/02/23 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
小学毕业家长寄语
2014/01/19 职场文书
好听的队名和口号
2014/06/09 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL
Hive HQL支持2种查询语句风格
2022/06/25 数据库