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下删除字符串中HTML标签的函数
Aug 27 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
PHP与Perl之间知识点区别整理
Mar 19 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 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中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
基于php-fpm的配置详解
2013/06/03 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
netbeans7安装python插件的方法图解
2013/12/24 Python
python中的函数用法入门教程
2014/09/02 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
解决python 找不到module的问题
2020/02/12 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
Notino法国:购买香水和化妆品
2019/04/15 全球购物
企事业单位求职者的自我评价
2013/12/28 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
母亲去世追悼词
2015/06/23 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
浅谈MySQL中的六种日志
2022/03/23 MySQL
css样式important规则的正确使用方式
2022/06/10 HTML / CSS