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 相关文章推荐
mysql中存储过程、函数的一些问题
Feb 14 PHP
关于js与php互相传值的介绍
Jun 25 PHP
php使用PDO方法详解
Dec 27 PHP
标准PHP的AES加密算法类
Mar 12 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
Smarty变量用法详解
May 11 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
php强制下载文件函数
Aug 24 PHP
php+ajax简单实现全选删除的方法
Dec 06 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 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
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
分享10段PHP常用代码
2015/11/11 PHP
PHP进程通信基础之信号
2017/02/19 PHP
新闻内页-JS分页
2006/06/07 Javascript
json 实例详细说明教程
2009/10/31 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
python+django快速实现文件上传
2016/10/24 Python
简单了解Django模板的使用
2017/12/20 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
python import 上级目录的导入
2020/11/03 Python
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
经典c++面试题五
2014/12/17 面试题
学习党章思想汇报
2014/01/07 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
Java中的随机数Random
2022/03/17 Java/Android
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
关于Redis的主从复制及哨兵问题
2022/06/16 Redis