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 foreach循环使用详解与实例代码
May 08 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
PHP使用递归按层级查找数据的方法
Nov 10 PHP
phpQuery采集网页实现代码实例
Apr 02 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简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
PHP中使用BigMap实例
2015/03/30 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
FF IE兼容性的修改小结
2009/09/02 Javascript
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
幼儿园开学寄语
2014/04/03 职场文书
找工作求职信
2014/07/07 职场文书
2015年企业新年寄语
2014/12/08 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript