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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
php生成rss类用法实例
Apr 14 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
PHP实现微信提现功能(微信商城)
Nov 21 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
认识并使用PHP超级全局变量
2010/01/26 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
php获取系统变量方法小结
2015/05/29 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
js实现内置计时器
2019/12/16 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
Python生成随机密码
2015/03/10 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
python实现求特征选择的信息增益
2018/12/18 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
python反扒机制的5种解决方法
2021/02/06 Python
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
解除劳动合同证明书
2014/09/26 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
奔腾年代观后感
2015/06/09 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
Nginx配置https的实现
2021/11/27 Servers
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers