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 相关文章推荐
Get或Post提交值的非法数据处理
Oct 09 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
php获取网页内容方法总结
Dec 04 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 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
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
了解前端理论:rscss和rsjs
2019/05/23 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python中xrange和range的区别
2014/05/13 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python实现感知器算法(批处理)
2019/01/18 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python实现扫雷游戏的示例
2020/10/20 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
美国现代家具购物网站:LexMod
2019/01/09 全球购物
培训讲师邀请函
2014/01/10 职场文书
雪山饭庄的创业计划书范文
2014/01/18 职场文书
护士长竞聘书
2014/03/31 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
审计班子对照检查材料
2014/08/27 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
2015年妇产科工作总结
2015/05/18 职场文书