php smarty 二级分类代码和模版循环例子

 更新时间:2011年06月16日 23:48:39   作者:  
分享下最近写的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中substr_count()函数获取子字符串出现次数的方法

    PHP中substr_count()函数获取子字符串出现次数的方法

    这篇文章主要介绍了PHP中substr_count()函数获取子字符串出现次数的方法,结合实例分析了substr_count()函数的功能,参数作用及具体使用技巧,需要的朋友可以参考下
    2016-01-01
  • php把数组值转换成键的方法

    php把数组值转换成键的方法

    这篇文章主要介绍了php把数组值转换成键的方法,涉及php针对数组遍历与转换的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php 的多进程操作实践案例分析

    php 的多进程操作实践案例分析

    这篇文章主要介绍了php 的多进程操作,结合具体实例形式总结分析了php多进程的常见操作技巧与相关使用注意事项,需要的朋友可以参考下
    2020-02-02
  • PHP实现生成数据字典功能示例

    PHP实现生成数据字典功能示例

    这篇文章主要介绍了PHP实现生成数据字典功能,涉及php针对mysql常见的连接、数据表查询、遍历、table表格构成等相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • yii2项目实战之restful api授权验证详解

    yii2项目实战之restful api授权验证详解

    这篇文章主要给大家介绍了关于yii2项目实战之restful api授权验证的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • PHP7匿名类用法分析

    PHP7匿名类用法分析

    这篇文章主要介绍了PHP7匿名类用法,结合实例形式分析了php7匿名类的功能、特性、定义及相关使用技巧,需要的朋友可以参考下
    2016-09-09
  • PHP Wrapper在SAE上的应用方法

    PHP Wrapper在SAE上的应用方法

    这篇文章主要介绍了PHP Wrapper在SAE上的应用方法,详细介绍了PHP Wrapper的功能、定义与使用技巧,进一步分析了在新浪SAE平台上进行文件写操作的具体实现技巧,需要的朋友可以参考下
    2016-05-05
  • php删除二维数组中的重复值方法

    php删除二维数组中的重复值方法

    下面小编就为大家分享一篇php删除二维数组中的重复值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • PHP中addcslashes与stripcslashes函数用法分析

    PHP中addcslashes与stripcslashes函数用法分析

    这篇文章主要介绍了PHP中addcslashes与stripcslashes函数用法,结合实例形式分析了addcslashes函数添加针对固定字符的转义处理与stripcslashes进行还原操作相关技巧,需要的朋友可以参考下
    2016-01-01
  • php天翼开放平台短信发送接口实现方法

    php天翼开放平台短信发送接口实现方法

    这篇文章主要介绍了php天翼开放平台短信发送接口实现方法,是针对短信接口的经典应用,非常具有实用价值,需要的朋友可以参考下
    2014-12-12

最新评论