zoukankan      html  css  js  c++  java
  • smarty二级分类代码和模版循环例子

    分享下最近写的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}

    云码素材一个分享开发技术,分享精品源码素材的好平台!
  • 相关阅读:
    浅谈样式表QSS的应用
    从一个笑话看软件开发管理(转帖)
    项目的大小衡量标准,项目架构的方法(填空架子,持续集成,边开发边测试效果)(装贴)
    做项目过程一点心得
    什么时候该写函数,什么时候该写类。
    QWidget属性,函数的学习
    Qt 中一些常用类中文说明
    swing应用中如何保存一个全局变量
    Implicit Linking与Explicit Linking
    qt中设置菜单高度
  • 原文地址:https://www.cnblogs.com/3rocks/p/2067143.html
Copyright © 2011-2022 走看看