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 字符串替换的方法
Jan 10 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
ucenter中词语过滤原理分析
Jul 13 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
Laravel手动分页实现方法详解
Oct 09 PHP
php中的explode()函数实例介绍
Jan 18 PHP
php curl操作API接口类完整示例
May 21 PHP
redis+php实现微博(三)微博列表功能详解
Sep 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框架的性能
2008/01/10 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
php中使用websocket详解
2016/09/23 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
python发腾讯微博代码分享
2014/01/10 Python
python的Template使用指南
2014/09/11 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
python实现倒计时小工具
2019/07/29 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
基于Python绘制个人足迹地图
2020/06/01 Python
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
机械系毕业生求职信
2014/05/28 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
毕业设计致谢词
2015/05/14 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android