php smarty 二级分类代码和模版循环例子
作者:bea
二级分类的数据表结构如下: PHP代码如下 代码如下: /** @ 文章分类 含二级分类 @ param int $rootnum -- 一级分类数量 @ param int $childnum -- 二级分类数量 @ 返回值 array @ date 2011.2.24 */ function temp_articletreecate($rootnum,$childnum){ if(!isnumber($rootnum)){ $rootnum = 1
二级分类的数据表结构如下:
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代码如下
代码如下:
/**
@ 文章分类 含二级分类
@ 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 session安全问题分析
- 使用PHP实现二分查找算法代码分享
- PHP求最大子序列和的算法实现
- php中转义mysql语句的实现代码
- 把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
- php中对2个数组相加的函数
- php判断输入不超过mysql的varchar字段的长度范围
- PHP array操作10个小技巧分享
- php 缩略图实现函数代码
- php中随机显示图片的函数代码
- 使用php shell命令合并图片的代码
- php whois查询API制作方法
- PHP字符编码问题之GB2312 VS UTF-8解决方法
- PHP读取网页文件内容的实现代码(fopen,curl等)
- php中获取指定IP的物理地址的代码(正则表达式)
- PHP学习笔记 (1) 环境配置与代码调试
- php开发过程中关于继承的使用方法分享
- php设计模式 Command(命令模式)
- php学习笔记 面向对象中[接口]与[多态性]的应用