首頁  >  文章  >  後端開發  >  之將分類依層級輸出實例

之將分類依層級輸出實例

小云云
小云云原創
2018-03-16 13:50:131136瀏覽

本文主要和大家分享Thinkphp遞迴處理之將分類依層級輸出實例,希望能幫助大家。

1.一般在資料庫中儲存分類,分類之間的關係用parent_id來識別。在開發中有時需要根據分類的級別,展示分類,如下圖:

使用遞歸方法,原始碼如下:

  1. /** 
       *  
       * @param array $list  为一个二维数组,存放着所有的分类,包含的字段为(分类id,分类名,parent_id) 
       * @param number $parent_id 
       * @param number $level 
       * @return Ambigous <multitype:, number> 
       */  
      function find_level($list,$parent_id=0,$level=1){  
          foreach($list as $l){  
              if($l[&#39;parent_id&#39;]==$parent_id){  
                  $l[&#39;level&#39;]=$level;  
                  $arr[]=$l;  
                  $child=$this->find_level($list,$l[&#39;cat_id&#39;],$level+1);  
                  if(is_array($child)){  
                      $arr=array_merge($arr,$child);  
                  }  
              }  
          }  
          return $arr;  
      }

在使用時,根據實際情況使用find_level($list)  或$this->find_level($list) 就可以了

$list=M(&#39;category&#39;)->field(&#39;cat_id,cat_name,parent_id&#39;)->select();  
$list=$this->find_level($list);  
$this->list=$list;  
$this->display();


###################################### #########################「前台檔案顯示程式碼#########
<table>  
<foreach name="list" item="vo">  
    <tr>  
        <td>  
            <for start="1" end="$vo[&#39;level&#39;]">  
                      
            </for>  
            {$vo.cat_name}<br/>  
        </td>  
    </tr>  
</foreach>  
</table>
#########這裡語法使用的是Thinkphp###

以上是之將分類依層級輸出實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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