首頁 >後端開發 >php教程 >什麼是無限極分類

什麼是無限極分類

不言
不言原創
2018-05-31 11:23:112705瀏覽

要實現無限極分類,資料庫建表是關鍵。

 表結構中至少需要三個字段,如果想避免遞迴循環,那麼需要四個字段。

 1. id ,目前資料的唯一識別;

 2. typename ,類型名稱;

 3. parentid , 當前類型的上一層父類型的id;

 4. path , 其中儲存目前類型的id和它所有父級類型的id。

 這些id之間採用「-」分隔。

 5. 當透過以下sql語句就可以實現,相同頂級類別下的資訊都在一起集中顯示。

 select * from 表名where 條件order by path;

例如:

一個非常簡單清晰簡單的無極限分類範例,帶縮排效果,只需查詢一次資料表,然後遞歸遍歷結果集,就可以了,要在php中實現欄位縮排顯示可以參考一下。

$sql = 'select * from cat order by cat_id desc';
$list = $db->getAll($sql);
$list = getLevelCat($list);
function getLevelCat($catlist, $parent_id='0', $html='   ', $level='0'){
  $arr = array();
  foreach($catlist as $val){
    if($val['parent_id']==$parent_id){
      $val['html'] = str_repeat($html,$level);
      $val['level'] = $level;
      $arr[] = $val;
      $arr = array_merge($arr, getLevelCat($catlist, $val['cat_id'], $html, $level+1));
    }
  }
  return $arr;
}

短短幾行程式碼,比較清晰,也比較好用。

相關推薦:

PHP實作無限極分類函數的方法

如何建立無限極分類樹型結構

以上是什麼是無限極分類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn