第一種方案:
表為兩張,一張分類表,一張資訊表。
表1:
`id` int(10),
`cid` tinyint(3) ,
`title` varchar(255),
表2:`cid` tinyint(3) ,
`parentid` tinyint(3),
`order` tinyint(3) ,
`name` varchar(255),
這樣可以根據cid = parentid來判斷上一級內容,運用遞迴至最頂層 。
第二種方案:
設定parentid為varchar型別,將父類id都集中在這個欄位裡,用符號隔開,比如:1,3,6
這樣可以比較容易得到各上級分類的id,而且在查詢分類下的資訊的時候,可以使用如:select * from information where cid like "1,3%"。不過在新增分類和轉移分類的時候操作將非常麻煩。
第三種方案:
每級分類遞增兩位數字,這樣,每級分類的數目限定在100個之間,分類方法主要為編碼法;
示例:一級分類:01,02,03
二級分類:0101,0102,0103,0201,0202........
**分類:010101,010102,010103,010104..........
資料庫查詢時使用 like '01%'就可得到一級分類01下的所有子分類,非常方便!
如果要列出所有分類的樹型結構,只需用一條語句select * from pro_class order by code,再稍微處理一下就可。(其中,pro_class為產品分類表,code為類別編碼)。
設計的資料庫結構如下:
id: 類別id,主鍵
classname: 類名
classcode: 類別編碼
parent: 父id
left_child: 最左孩子id(或第乙個孩子)
right_sibling: 右兄弟id
layer: 層級(第一級類別為1,第2級類別2,以此類推)
以上三種的缺點?優點?還有其它方案嗎?
各式各樣奇怪的面試
目前又是一年一度的找工作高峰時間,很多企業都已經在網上開始了招聘工作,而各種大型招聘會也正在如火如荼地舉行著。對求職者來說,遞交簡歷只是第一步,然後就是要等待面試機會。現在用人單位為了考察應聘者的全面能力,不再只採用一對一提問題的傳統面試形式,有的可能會讓應聘者意想不到。你參加過什麼印象深刻的面試?...
html頭部中各式各樣的meta
在寫網頁的過程中,第一步就是建立乙個html文件。如下是最簡單的 html5 文件。1239 1011 12 上面第乙個 meta 就是規定了文件的字元編碼。meta 元素可以提供有關頁面的元資訊,比如針對搜尋引擎和更新頻度的描述和關鍵字。它不會顯示在頁面上,但是計算機可以識別。meta 有乙個必須...
各式各樣的正規表示式參考大全
d 匹配非負整數 正整數 0 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d d 0 0 匹配非正浮點數 負浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1...