php smarty 二级分类代码和模版循环例子


Posted in PHP onJune 01, 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 批量删除 sql语句
Jun 05 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
Yii2中简单的场景使用介绍
Jun 02 PHP
理清PHP在Linxu下执行时的文件权限方法
Jun 07 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
PHP 八种基本的数据类型小结
Jun 01 #PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 #PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 #PHP
比较时间段一与时间段二是否有交集的php函数
May 31 #PHP
实用PHP会员权限控制实现原理分析
May 29 #PHP
允许phpmyadmin空密码登录的配置方法
May 29 #PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 #PHP
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
web方式ftp
2006/10/09 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
php结合curl实现多线程抓取
2015/07/09 PHP
php中错误处理操作实例分析
2019/08/23 PHP
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
django定期执行任务(实例讲解)
2017/11/03 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
Django REST 异常处理详解
2020/07/15 Python
如何用Django处理gzip数据流
2021/01/29 Python
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
老师推荐信
2013/10/28 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
工作简报怎么写
2015/07/21 职场文书
开工典礼致辞
2015/07/29 职场文书
高中化学教学反思
2016/02/22 职场文书
简历自我评价范文
2019/04/24 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python
tomcat下部署jenkins的方法
2022/05/06 Servers