php smarty 二级分类代码和模版循环例子
发布时间:2020-12-13 05:55:12 所属栏目:PHP教程 来源:网络整理
导读:二级分类的数据表结构如下: PHP代码如下 代码如下: /** @ 文章分类 含二级分类 @ param int $rootnum -- 一级分类数量 @ param int $childnum -- 二级分类数量 @ 返回值 array @ date 2011.2.24 */ function temp_articletreecate($rootnum,$childnum){ if(
二级分类的数据表结构如下:
代码如下: /** @ 文章分类 含二级分类 @ 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} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |