dedecms函数分享之获取某一栏目所有子栏目

以前从来没写过递归(其实想想,对算法完全没概念),刚好有这个需求,试着写了一下,发现也挺容易的,特别记录一下。

数据库是dedecms默认的,dede_arctype是保存栏目的表,reid是栏目的父级栏目id。

代码如下:

$array = array();
get_sons($type, $array);

var_dump($array);

function get_sons($type, &$current_array){
    $result = mysql_query("select id from dede_arctype where reid = {$type}");
    while($row = mysql_fetch_assoc($result)){
        $current_array[] = $row['id'];
        get_sons($row['id'], $current_array);
    }
}

(0)

相关推荐

  • DedeCMS dede_channeltype表字段注释

    这是我花了一些时间整理出来的,但是还是有几个字段不清楚,希望知道的朋友们,告诉我! Dede_channeltype id 频道ID nid 识别ID typename 模型名字 maintable 主表 addtable 附加表 addcon 档案发布程序 mancon editcon 档案修改程序 useraddcon 前台会员发布程序 usermancon 前台会员管理程序 usereditcon 前台会员修改程序 fieldset listfields 列表附加字段 addfields

  • DedeCMS 核心类TypeLink.class.php摘要笔记

    注:'//+' 表示为本人另外加上的注释 Class TypeLink { var $typeDir; var $dsql; var $TypeID; //+ 类别ID var $baseDir; //+ 站点根网址 var $modDir; //+ 模板目录 var $indexUrl; //+ 主页链接地址 var $indexName; //+ 主页链接名 var $TypeInfos; //+ 类目信息 var $SplitSymbol; //+ 栏目位置的间隔符号 var $value

  • dedecms函数分享之获取某一栏目所有子栏目

    以前从来没写过递归(其实想想,对算法完全没概念),刚好有这个需求,试着写了一下,发现也挺容易的,特别记录一下. 数据库是dedecms默认的,dede_arctype是保存栏目的表,reid是栏目的父级栏目id. 复制代码 代码如下: $array = array();get_sons($type, $array); var_dump($array); function get_sons($type, &$current_array){    $result = mysql_query("

  • 分享Python获取本机IP地址的几种方法

    目录 1.使用专用网站 2.使用自带socket库 3.使用第三方netifaces库 1.使用专用网站 获取的是公网IP 网址:http://myip.ipip.net 代码: import requests res = requests.get('http://myip.ipip.net', timeout=5).text print(res) 比较喜欢用这个,在命令窗口也能使用: curl http://myip.ipip.net 2.使用自带socket库 获取的是局域网IP. impo

  • JavaScript常用的工具函数分享

    目录 格式化时间戳 时间格式化 几分钟前 几小时前 url参数转为对象 对象序列化[对象转url参数] 本地存储 cookie操作 数字格式化单位 数字千位过滤 过滤成版本号 首字母大写 class 操作 文本复制功能 判断是否是一个数组 判断是否是一个空数组 克隆一个数组 数组去重 是否为PC端 判断是否为微信 设备判断:android.ios.web 常见正则校验 去除字符串空格 过滤html代码 生成随机数范围 判断图片加载完成 光标所在位置插入字符 图片地址转base64 base64图

  • php计算2个日期的差值函数分享

    非常简单实用的函数分享给大家, 奉上代码: 复制代码 代码如下: /**      *    日期-计算2个日期的差值      *  @return int      */     public function get_difference($date, $new_date) {         $date = strtotime($date);         $new_date = strtotime($new_date);         return abs(ceil(($date

  • 分享Pytorch获取中间层输出的3种方法

    目录 [1]方法一:获取nn.Sequential的中间层输出 [2]方法二:IntermediateLayerGetter [3]方法三:钩子 [1]方法一:获取nn.Sequential的中间层输出 import torch import torch.nn as nn model = nn.Sequential(             nn.Conv2d(3, 9, 1, 1, 0, bias=False),             nn.BatchNorm2d(9),          

  • php获取中文拼音首字母类和函数分享

    一.公司同事整理的类,挺实用的.相信拿出来分享下他不会介意的O(∩_∩)O.不过如果首字母是数字或英文会有些问题. 复制代码 代码如下: /** * Helper_Spell 汉字拼音首字母工具类 * * @category Helper * @package  Helper_Spell * @author   Lancer <lancer.he@gmail.com> * @version  1.0 * @see      Translation_Big2gb */ class Helper_

  • Java实现获取前、后N天日期的函数分享

    代码很简单,功能也很实用,这里就不多废话了. public Date getdate(int i) // //获取前后日期 i为正数 向后推迟i天,负数时向前提前i天 { Date dat = null; Calendar cd = Calendar.getInstance(); cd.add(Calendar.DATE, i); dat = cd.getTime(); SimpleDateFormat dformat = new SimpleDateFormat("yyyy-MM-dd HH:

  • php获取当月最后一天函数分享

    非常简单实用的函数,这里就不多废话了,直接奉上代码 复制代码 代码如下: /**      *    日期-获取当月最后一天      *  @return int      */     public function get_lastday() {         if($this->month==2) {             $lastday = $this->is_leapyear($this->year) ? 29 : 28;         } elseif($this-

  • C++中可正确获取UTF-8字符长度的函数分享

    在C++的char*以及string中,使用的是字节流编码,即sizeof(char) == 1. 也就是说,C++是不区分字符的编码的. 而一个合法UTF8的字符长度可能为1-4位. 现在假设一串输入为UTF8编码,如何能准确的定位到每个UTF8字符的"CharPoint",而不会错误的分割字符呢? 参考这个页面:http://www.nubaria.com/en/blog/?p=289 可以改造出下面的函数: const unsigned char kFirstBitMask =

  • PHP跨平台获取服务器IP地址自定义函数分享

    近期需要完善一个log机制,监控来自不同服务器的机器的脚本执行状况,特针对windows和Linux及web与命令行模式书写了一个函数来兼容. 写了如下一个function来,可以实现上面的需求: 复制代码 代码如下: function getServerAddr() {       //运行 web app       if (isset($_SERVER["SERVER_ADDR"])) {           return $_SERVER["SERVER_ADDR&q

随机推荐