我正在用PHP設計一個定製博客。在我的面板上,我有「類別」標題,並列出了類別以及每個類別中有多少帖子。有2個相關的表格,帖子和post_categories。PHP MySQL定製博客,列出類別
帖子 - POST_ID,POST_TITLE,張貼, CATEGORY_ID
POST_CATEGORIES - CATEGORY_ID, CATEGORY_NAME,POST_ID
我寧願不添加的未分類的類別,因爲這將導致我與我計劃設計的未來功能有關的問題。我給這家SQL是:
SELECT *, COUNT(*) AS category_post_count
FROM post_categories, posts
WHERE posts.category_id = post_categories.category_id
GROUP BY category_name
現在,如果一個職位沒有設置與CATEGORY_ID,它被賦予的0 CATEGORY_ID和post_categories將不相關的東西。我怎樣才能將這些在我的SQL語句中作爲未定製的?
謝謝。
POST_CATEGORIES表中「post_id」的需求是什麼?這是否意味着每個POST都會有新的category_id?這沒有意義。類別到職位應爲1:n。你有1:1這可能不是博客應用程序的最佳方式。 – Stewie 2010-11-08 15:24:30
不知道如何讓你的查詢完全適合你,但我可以提供一些其他信息。我知道你不想爲未分類創建一個行,但爲什麼?是不是因爲你不希望它出現在你網站的其他區域?如果是這種情況,然後改變你的SQl不返回結果的category_id爲0.如果它的絕對不是有一行未分類,那麼你可以做兩個查詢一個返回你的帖子,一個返回你的類別表,然後使用PHP做數學,如果其中一個帖子的類別標識爲0,則將其歸類爲未分類的類別。 – Brady 2010-11-08 15:28:21