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 09 PHP
15个小时----从修改程序到自己些程序
Oct 09 PHP
实时抓取YAHOO股票报价的代码
Oct 09 PHP
php抓即时股票信息
Oct 09 PHP
PHP读MYSQL中文乱码的解决方法
Dec 17 PHP
php 无限级 SelectTree 类
May 19 PHP
Yii框架中memcache用法实例
Dec 03 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 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 mssql 时间格式问题
2009/01/13 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
PHP多进程简单实例小结
2019/11/09 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
Array对象方法参考
2006/10/03 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
js运动事件函数详解
2016/10/21 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
在Python下进行UDP网络编程的教程
2015/04/29 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
小学绿色学校申报材料
2014/08/23 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2014年纪检工作总结
2014/11/12 职场文书
早安问候语大全
2015/11/10 职场文书
心理学培训心得体会
2016/01/22 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
Java 异步任务计算FutureTask
2022/04/28 Java/Android
详解如何使用Nginx解决跨域问题
2022/05/06 Servers
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle