1.分析
我們在用 php 制作網站時,分類是很重要的,在分類下面又再分類這第二個分類稱為次分類,而現在大多數網站分類只分到第三類:
第一分類(父分類)-->第二分類(子分類)-->第三分類(孫分類)
這種親緣分類越多,程序和數據庫的控制就越加的復雜困難.在同一級的分類處理和控制是非常的簡單的,因為只需要一個數據庫來記載這一級的分類就行了,如:系統,新聞等分類,在這一級上處理是很簡單的,但對一個網站來說一級分類是不夠的,還需要再分類,如:
系統-->linux,windows
新聞-->linux 新聞,windows 新聞
這樣分類就清晰些了,至少讓人明白了,系統包括 linux 和 windows,而新聞包括 linux 新聞和 windows 新聞,為了讓信息資料更加清晰,於是再繼續分類:
linux-->系統工具,內核,編程語言,開發工具
...
分類到了第三級,信息資料的處理就更清晰了,也就是說為了很清晰地處理資料,分類越詳細就越方便,這樣即方便處理信息又方便網友目的明確地查找到需要的資料,但隨著不斷的細化分類,在程序和數據庫的控制上就會越來越困難.
困難一:如何在數據庫裡處理這些互有關聯的親緣分類?
困難二:如何用 php 完成這種一目了然的關系?
這種分級多而細的分類是每個 php 程序員都必須解決的問題,因為制作一個好而出色的網站分類問題是不可避免的,而解決這個問題又是相當復雜的,其中最大的問題就是數據庫的分類處理,因為如果數據庫處理不當將會帶來巨大的工作量甚至是不得不重新規劃數據庫...
這並不是誇張,因為很多人在數據庫處理上就會采用一級分類建立一個數據庫的做法,我當時也是采取這種方法處理分類的,因大多網站都是分到第三級,所以數據庫裡只需三個分類數據庫來進行處理.但是需要繼續向下分類時,這種做法的弊端就顯露出來了,因為越往下分,工作量,程序量將會巨增..
我要介紹的這種方法就是如何用一個分類數據庫建立無限向下分級的分類方法,用過 windows 的讀者都知道 windows 文件夾就可以建立無限分級的目錄,可在目錄下面繼續建立目錄,這樣沒完沒了的分下去,Linux 的目錄創建也有這種功能,我介紹的這個方法跟這種形式相同.