我做了一個表上的社交網絡網站的所有評論:發表評論Wallposts和評論
另外,我一個表,分配給一個評論所有評論:comment_assign
所以,我建一個函數comment()以便在每個節類型(圖像,用戶頁面,組等)中輕鬆實現。在$ _GET ['s'] ==用戶的情況下,我想要在這些wallposts上添加wallposts以及評論。全部存儲在'評論'中。
我有了這個計劃,以顯示此: 1. SQL查詢來獲取評論 2. HTML輸出 3.這個HTML輸出內的另一個SQL查詢來獲得這個評論的規定分配的註釋(wallpost情況)
現在的問題是,我的第一個查詢顯示所有評論。另外,評論應該是子註釋。所以我的問題是,如果有任何方法可以在第一個查詢中指定,那麼當我收到我的所有評論時,請說:如果此comment_id可用,請在comment_assign中查找。如果是這樣,不要顯示這個評論,因爲它是一個子評論(我會在提到的步驟3中顯示)。
也許這整個結構可能會改變?我將不勝感激任何建議。即使很難實現,但最有效。
表結構:
評論
ID,UID,NID,網站,文本,日期
comment_assign
COMMENT_ID,assign_id
首先SQL查詢例子,它不工作,以避免顯示所有評論(也被分配的)。看到最後一行:
SELECT *
FROM `comments` AS c
LEFT JOIN `comment_assign` AS ca ON ca.`comment_id` = c.`id`
LEFT JOIN `users` AS u ON c.`uid` = u.`id`
WHERE c.`nid`='".$nid."'
AND c.`site`='".$_GET['s']."'
AND ca.`comment_id` != c.`id`
分享您的查詢 – m1k3y3
如果我編輯我的最後一行:「AND ca.'comment_id' IS NULL」它的作品。但是,這兩個查詢的結構仍然不是很高效,我想呢?關於快速輸出所有數據和編程效率?我應該以某種方式更改我的table_structure或將這兩個查詢合併爲一個? – Vay