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 相关文章推荐
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
初识Laravel
Oct 30 PHP
php数组查找函数总结
Nov 18 PHP
windows7下php开发环境搭建图文教程
Jan 06 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP getName()函数讲解
Feb 03 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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正则判断是否为合法身份证号的方法
2017/03/16 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
URL中“#” “?” &“”号的作用浅析
2017/02/04 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python中的高级数据结构详解
2015/03/27 Python
Python中List.count()方法的使用教程
2015/05/20 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
化工专业应届生求职信
2013/11/08 职场文书
2015年司法局工作总结
2015/05/22 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
品德与社会教学反思
2016/02/24 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL