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 相关文章推荐
PHP 和 COM
Oct 09 PHP
PHP日期时间函数的高级应用技巧
May 16 PHP
PHPMailer 中文使用说明小结
Jan 22 PHP
PHP 金额数字转换成英文
May 06 PHP
PHP的password_hash()使用实例
Mar 17 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
Laravel如何创建服务器提供者实例代码
Apr 15 PHP
php提供实现反射的方法和实例代码
Sep 17 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
PHP强制转化的形式整理
May 22 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
ADODB的数据库封包程序库
2006/12/31 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
9个JavaScript评级/投票插件
2010/01/18 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
用python实现百度翻译的示例代码
2018/03/09 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
什么是.net
2015/08/03 面试题
给女朋友的道歉信
2014/01/10 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
监督检查工作方案
2014/05/28 职场文书
2014全年工作总结
2014/11/27 职场文书
驳回起诉裁定书
2015/05/19 职场文书