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 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
redis 队列操作的例子(php)
Apr 12 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
基于swoole实现多人聊天室
Jun 14 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
Aug 30 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 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
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
php 获取本机外网/公网IP的代码
2010/05/09 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
javascript操作符"!~"详解
2015/02/10 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
Python实现二维数组输出为图片
2018/04/03 Python
python中int与str互转方法
2018/07/02 Python
python使用多进程的实例详解
2018/09/19 Python
Python requests模块实例用法
2019/02/11 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
印度民族服装购物网站:BIBA
2019/08/05 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
php优化查询foreach代码实例讲解
2021/03/24 PHP
有模特经验的简历自我评价
2013/09/19 职场文书
记账会计岗位职责
2014/06/16 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python