php smarty 二级分类代码和模版循环例子_php教程-查字典教程网
php smarty 二级分类代码和模版循环例子
php smarty 二级分类代码和模版循环例子
发布时间:2016-12-29 来源:查字典编辑
摘要:二级分类的数据表结构如下:复制代码代码如下:PHP代码如下/**@文章分类含二级分类@paramint$rootnum--一级分类数量@pa...

二级分类的数据表结构如下:

复制代码 代码如下:

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教程学习
    编程开发子分类