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实现的MySQL通用查询程序
Mar 11 PHP
如何在PHP程序中防止盗链
Apr 09 PHP
PHP 翻页 实例代码
Aug 07 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
PHP系统命令函数使用分析
Jul 05 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
php实现将二维关联数组转换成字符串的方法详解
Jul 31 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
深入apache host的配置详解
2013/06/09 PHP
解析php中反射的应用
2013/06/18 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
详解python中executemany和序列的使用方法
2017/08/12 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Python列表解析操作实例总结
2020/02/26 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
为什么相对PHP黑python的更少
2020/06/21 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
班长岗位职责
2013/11/10 职场文书
个人生活学习自我评价范文
2013/11/26 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
学习普通话的体会
2014/11/07 职场文书
学习保证书100字
2015/02/26 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis