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安装攻略:常见问题解答(二)
Oct 09 PHP
php.ini 中文版
Oct 28 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
解析PHP缓存函数的使用说明
May 10 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
Jun 05 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
PHP借助phpmailer发送邮件
May 11 PHP
详解PHP中的Traits
Jul 29 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
PHP 文件写入和读取操作实例详解【必看篇】
Nov 04 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语法(2)
2006/10/09 PHP
php递归创建目录的方法
2015/02/02 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Python读取Excel的方法实例分析
2015/07/11 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
高中生毕业学习总结的自我评价
2013/11/14 职场文书
企业消防安全制度
2014/02/02 职场文书
土木工程专业推荐信
2014/02/19 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
过程装备与控制工程专业求职信
2014/07/02 职场文书
公司授权委托书范文
2014/09/21 职场文书
文明旅游倡议书
2015/04/28 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
Go遍历struct,map,slice的实现
2021/06/13 Golang
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
Python 绘制多因子柱状图
2022/05/11 Python