我正在嘗試使用MySQL表添加麪包屑到我的網站,而此刻我很困難。抓取MySQL中的單個元素表
我有一個名爲'includes'的表創建,它存儲有關頁面的類別,頁面,子頁面,標題和ref(url)的信息。類別,頁和子頁是從用戶的頁面傳遞
所有的PHP參數我的表佈局是這樣的:
|----------------------------------------------------------------|
| ID | Category | Page | Subpage | Title | Ref |
|----------------------------------------------------------------|
| 0 | | | | Home | ... |
| 1 | Software | | | Software | ... |
| 2 | Software | Desktop | | Desktop Software | ... |
| 3 | Software | Mobile | | Mobile Software | ... |
| 4 | Software | Desktop | Blah | Blah Blah | ... |
| ...
|----------------------------------------------------------------|
我試圖做的是做一個查詢,將將麪包屑僅返回家中所需的步驟。
換句話說,如果用戶在「example.com/software/desktop/blah」上,查詢將返回行0,1,2和4.或者如果我在/ software/mobile上,它只會返回行0,1和3
我目前的嘗試已經事物類似如下:
SELECT * FROM `includes` WHERE
`category` IS NULL AND `page` IS NULL AND `subpage` IS NULL OR
`category`='$category' AND `page` IS NULL AND `subpage` IS NULL OR
`category`='$category' AND `page`='$page' AND `subpage` IS NULL OR
`category`='$category' AND `page`='$page' AND `subpage`='$subpage'
這不但不工作,也似乎比它應該有更復雜是。
我可能過於複雜,或者可能只是做了一個完全錯誤的方法,這就是爲什麼我轉過來了。
有沒有人有可能的解決方案呢?我應該看看更復雜的查詢嗎? (坦率地說,SQL不是我的特長)或者我應該看一個新的SQL表,或者可能是一個完全不同的方法?
你組織這個表的想法是錯誤的。您需要創建一個分層表,使用上級條目標識作爲下級條目的父級標識 – 2013-03-09 07:20:36