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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
Oct 15 PHP
常见php数据文件缓存类汇总
Dec 05 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 10 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
基于swoole实现多人聊天室
Jun 14 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
php-fpm配置详解
2014/02/12 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
js评分组件使用详解
2017/06/06 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
详解Python中的type()方法的使用
2015/05/21 Python
python实现批量监控网站
2016/09/09 Python
Python 错误和异常代码详解
2018/01/29 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python爬虫开发与项目实战
2020/12/16 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
C++面试题目
2013/06/25 面试题
大学同学聚会邀请函
2014/01/19 职场文书
人事专员工作职责
2014/02/22 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers