欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP使用遞歸生成文章樹

 更新時間:2015年04月21日 09:08:22   投稿:hebedich  
寫遞歸函數(shù),可考慮緩存,定義一些靜態(tài)變量來存上一次運行的結(jié)果,多程序運行效率很有幫助.大概步驟如下:首先到數(shù)據(jù)庫取數(shù)據(jù),放到一個數(shù)組,然后把數(shù)據(jù)轉(zhuǎn)化為一個樹型狀的數(shù)組,最后把這個樹型狀的數(shù)組轉(zhuǎn)為html代碼。下面我們來看個實例

因為自己的一個技術(shù)站,以文章為主,文章有些是一個系列的,所以想把這些文章歸類,同一類的在一個下面。

數(shù)據(jù)庫好設(shè)計,無非用id,fatherid來進(jìn)行歸類,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>&nbsp;&nbsp;<a href="'.$record['url'].'" target="_blank">' 
      . $record['title'].'</a>';
    }else{
      echo '<li><span class="glyphicon glyphicon-chevron-right" aria-hidden="true">
      </span>&nbsp;<a href="'.$record['url'].'" target="_blank">' 
      . $record['title'].'</a>';
    }
    
    category_tree($record['id']);
    echo '</li>';
    $i++;
    if ($i > 0){
      echo '</ul>';
    }
  }
}

調(diào)用:

category_tree(0) //先提取最頂層文章

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例

    tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法,結(jié)合實例形式較為詳細(xì)的分析了基于thinkPHP5框架連接數(shù)據(jù)庫的相關(guān)配置、數(shù)據(jù)讀取、模板渲染等操作技巧,需要的朋友可以參考下
    2018-12-12
  • php微信公眾號開發(fā)之翻頁查詢

    php微信公眾號開發(fā)之翻頁查詢

    這篇文章主要為大家詳細(xì)介紹了php微信公眾號開發(fā)之翻頁查詢功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • php7 安裝yar 生成docker鏡像

    php7 安裝yar 生成docker鏡像

    這篇文章主要介紹了php7 安裝yar 生成docker鏡像,需要的朋友可以參考下
    2017-05-05
  • Laravel框架中緩存的使用方法分析

    Laravel框架中緩存的使用方法分析

    這篇文章主要介紹了Laravel框架中緩存的使用方法,結(jié)合具體實例形式分析了Laravel框架中緩存的常用方法、操作步驟及相關(guān)使用操作技巧,需要的朋友可以參考下
    2019-09-09
  • windows系統(tǒng)php環(huán)境安裝swoole具體步驟

    windows系統(tǒng)php環(huán)境安裝swoole具體步驟

    這篇文章主要介紹了windows系統(tǒng)php環(huán)境安裝swoole具體步驟,swoole目前是比較熱門的一個擴(kuò)展插件,有需要的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • PHP jQuery+Ajax結(jié)合寫批量刪除功能

    PHP jQuery+Ajax結(jié)合寫批量刪除功能

    這篇文章主要介紹了PHP jQuery+Ajax結(jié)合寫批量刪除功能的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • php實現(xiàn)記事本案例

    php實現(xiàn)記事本案例

    這篇文章主要為大家詳細(xì)介紹了php實現(xiàn)記事本案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 詳解Laravel5.6通過路由進(jìn)行API版本控制的簡單方法

    詳解Laravel5.6通過路由進(jìn)行API版本控制的簡單方法

    這篇文章主要介紹了詳解Laravel5.6通過路由進(jìn)行API版本控制的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • PHP+MYSQL實現(xiàn)用戶的增刪改查

    PHP+MYSQL實現(xiàn)用戶的增刪改查

    本文給大家分享的是使用PHP+MYSQL實現(xiàn)用戶的增刪改查功能的全部頁面代碼,非常的詳細(xì),也很實用,適合php的初學(xué)者,有需要的小伙伴參考下。
    2015-03-03
  • Laravel5.1 框架控制器基礎(chǔ)用法實例分析

    Laravel5.1 框架控制器基礎(chǔ)用法實例分析

    這篇文章主要介紹了Laravel5.1 框架控制器基礎(chǔ)用法,結(jié)合實例形式分析了laravel5.1框架控制器的基本原理、定義與使用方法,需要的朋友可以參考下
    2020-01-01

最新評論