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 相关文章推荐
PHPlet在Windows下的安装
Oct 09 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
php实现文件下载实例分享
Jun 02 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
Zend Framework教程之Zend_Registry对象用法分析
Mar 22 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
PHP信号处理机制的操作代码讲解
Apr 19 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
数据库相关问题
2006/10/09 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP实现货币换算的方法
2014/11/29 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
Python 爬虫的原理
2020/07/30 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
黄河象教学反思
2014/02/10 职场文书
2014年端午节活动方案
2014/03/11 职场文书
六个一活动实施方案
2014/03/21 职场文书
教师对学生的评语
2014/04/28 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
数学复习课教学反思
2016/02/18 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python