我試圖做一個函數有點類似Facebook的通知窗口。他們的功能似乎結合了任何一種事件並在日期之後顯示出來。加入兩個表按日期排序並顯示結果
所以我有2個表格: 文章和評論。 都有2個相似的行:uniquepostowner和date_posted。
我想加入他們並一個接一個地顯示他們。 實施例:
User A has posted a comment (04.05.2012 5:30)
User B Has posted a comment (04.05.2012 6:30)
User C has written an article (04.05.2012 7:30)
user D has posted a comment (04.05.2012 8:30)
然而,我正與兩個連接這些2和顯示結果掙扎。 閱讀和你有類似的場景香港專業教育學院嘗試這樣的查詢:
$sesid = $_SESSION['user_id'];
$sql = "SELECT X.* FROM (SELECT * FROM `article` WHERE uniquepostowner = {$sesid} UNION SELECT * FROM `comments` WHERE uniquepostowner = {$sesid}) X ORDER BY X.`date_posted`";
$result = mysql_query($sql);
然後試圖獲取結果是這樣的:
while($row = mysql_fetch_array($result))
{
echo $row['article.id'];
}
表:
**article**:
id
title
content
uniqueuser
date_posted
full_name
uniquepostowner
**comments**:
id
pid (same as article.id)
date_posted
content
full_name
uniquepostowner
有更多的行這些表格,但它們是無關緊要的。 但沒有成功。任何幫助一如既往,非常感謝! :)
目前我正在嘗試這個,但它沒有做我想做的。
$sql = "SELECT * FROM article a INNER JOIN comments c WHERE a.uniquepostowner = {$sesid} AND c.uniquepostowner = {$sesid}
ORDER BY a.date_posted DESC , c.date_posted DESC ";
你可以發佈這些表的模式嗎?在這種情況下,我認爲你不需要使用UNION。 – Zagor23 2012-07-13 12:19:19