2011-08-25 78 views
2

我想用現有的數據庫創建一個網站。 該數據庫有兩個表,其中一個包含標題,ID,內容等發佈信息, 另一個表包含帖子ID和帖子類別。如何從2個表中獲取數據?

例如:我想從特定類別中發佈帖子。

$sql = 'SELECT * FROM posts WHERE status = "publish" ORDER BY date DESC LIMIT 10'; 

這是一個簡單的功能,能有一個人幫我請了如何修改它,以獲得從其它表和其它表後的信息類別。

+2

請花一點時間瘦基本的SQL - 這將是你未來真正有用[例如,從這裏(http://www.w3schools.com/sql/sql_join_inner.asp) –

回答

1
SELECT * FROM posts, posts_category WHERE category = 'category' 
AND 
status = 'publish' 
AND 
posts_category.post_id = posts.id 
ORDER BY date DESC LIMIT 10; 
+0

你好,謝謝你的回答。我的數據庫有大約80.000行,這種方法有點「沉重」以獲得我想要的結果嗎? – Meo

+1

@Meo - 這比明確的連接效率低。只要確保適當的列被索引(post_id,類別,狀態),並且您的表可以增長到800萬行沒有問題。 –

+0

好的,然後謝謝你 – Meo

0
$sql = "SELECT * FROM posts WHERE status = 'publish' AND pid IN (SELECT pid FROM pcategory WHERE ptype='category_name') ORDER BY date DESC LIMIT 10";