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 if 想到的些问题
Mar 22 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
深入解析php之sphinx
May 15 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
PDO::rollBack讲解
Jan 29 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 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
编译问题
2006/10/09 PHP
PHP4实际应用经验篇(6)
2006/10/09 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
python实现杨辉三角思路
2017/07/14 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
法学函授自我鉴定
2014/02/06 职场文书
求职毕业生自荐书
2014/02/08 职场文书
2015年行政部工作总结
2015/04/28 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
nginx常用配置conf的示例代码详解
2022/03/21 Servers
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
Android中View.post和Handler.post的关系
2022/06/05 Java/Android