PHP使用递归生成文章树


Posted in PHP onApril 21, 2015

因为自己的一个技术站,以文章为主,文章有些是一个系列的,所以想把这些文章归类,同一类的在一个下面。

数据库好设计,无非用id,fatherid来进行归类,fatherid代表父类是那篇文章的id,id是文章的唯一id,层次不限,可以是两层,可以是三层。fatherid为0的表示顶层文章。

php代码,主要是递归

function category_tree($fatherid){
  //require_once("mysql_class/config.inc.php");
  //require_once("mysql_class/Database.class.php");
  $db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
  $db->connect();
  $sql = "SELECT id,title,url FROM ".TABLE_TASK." 
     WHERE fatherid=$fatherid and ispublic=1 order by id asc";
  $articles = $db->query($sql);
  $db->close();
  while ($record = $db->fetch_array($articles)){
    $i = 0;
    if ($i == 0){
      if($fatherid==0){
        echo '<ul class="article-list-no-style border-bottom">';
      }else{
        echo '<ul class="article-list-no-style">';
      }
      
    }
    if($fatherid==0){
      echo '<li><span class="glyphicon glyphicon-log-in" 
      aria-hidden="true" id="han'.$record['id'].'">
      </span>  <a href="'.$record['url'].'" target="_blank">' 
      . $record['title'].'</a>';
    }else{
      echo '<li><span class="glyphicon glyphicon-chevron-right" aria-hidden="true">
      </span> <a href="'.$record['url'].'" target="_blank">' 
      . $record['title'].'</a>';
    }
    
    category_tree($record['id']);
    echo '</li>';
    $i++;
    if ($i > 0){
      echo '</ul>';
    }
  }
}

调用:

category_tree(0) //先提取最顶层文章

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
php中批量修改文件后缀名的函数代码
Oct 23 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
通过PHP修改Linux或Unix口令的方法分享
Jan 30 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
php实现读取内存顺序号
Mar 29 PHP
PHP异常处理浅析
May 12 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 PHP
php实现的美国50个州选择列表实例
Apr 20 #PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 #PHP
php中使用base HTTP验证的方法
Apr 20 #PHP
PHP加密解密类实例分析
Apr 20 #PHP
php通过分类列表产生分类树数组的方法
Apr 20 #PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 #PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 #PHP
You might like
浅析php学习的路线图
2013/07/10 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
服务型党组织建设典型材料
2014/05/07 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python