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 相关文章推荐
第四节 构造函数和析构函数 [4]
Oct 09 PHP
php.ini中文版
Oct 09 PHP
php实现的在线人员函数库
Apr 09 PHP
php 生成文字png图片的代码
Apr 17 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 PHP
如何让PHP编码更加好看利于阅读
May 12 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
解析php时间戳与日期的转换
2013/06/06 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
浅谈PHP安全防护之Web攻击
2017/01/03 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
在Django的模板中使用认证数据的方法
2015/07/23 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
公积金转移接收函
2014/01/11 职场文书
推荐信怎么写
2014/05/09 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
公司年终奖分配方案
2014/06/16 职场文书
论文答谢词
2015/01/20 职场文书
酒店前台岗位职责
2015/04/16 职场文书
中秋节晚会开场白
2015/05/29 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL
VUE递归树形实现多级列表
2022/07/15 Vue.js