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调用三种数据库的方法(1)
Oct 09 PHP
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
php 破解防盗链图片函数
Dec 09 PHP
php Static关键字实用方法
Jun 04 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
php中curl使用指南
Feb 05 PHP
php实现统计网站在线人数的方法
May 12 PHP
php批量删除超链接的实现方法
Oct 19 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
PHP的反射机制实例详解
Mar 29 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 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学习之 认清变量的作用范围
2010/01/26 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
PHP递归的三种常用方式
2019/02/28 PHP
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
python正则表达式re模块详解
2014/06/25 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
实时获取Python的print输出流方法
2019/01/07 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
财务管理专业自荐信范文
2013/12/24 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
高级工程师英文求职信
2014/03/19 职场文书
119消防日活动总结
2014/08/29 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
nginx+lua单机上万并发的实现
2021/05/31 Servers
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记