2011-02-23 210 views
0

我有一個MYSQL數據庫與一個用戶和一個活動表。包含用戶信息和活動表的用戶表,其中包含有關此網站上的用戶活動的消息(類似於Facebook新聞提要)。如何查詢數組中的所有值的MYSQL數據庫

在用戶表中我有一個存儲的朋友數組,它只是一個逗號分隔的字符串。 (friend_list)

我想選擇使用mysql加入朋友列表中的所有朋友的所有消息以及當前用戶,然後通過活動時間戳對他們進行排序。

我在想這樣的事情...

$query=mysql_query("SELECT * FROM users,activity WHERE users.user=activity.user OR //### ACTIVITY.USER IS EQUAL TO ONE OF THE USERS.FRIEND_LIST ARRAY VALUES ### ORDER BY activity.timestamp")or die(mysql_error()); 

它的一個艱難的一個描述。我希望你明白。

我不知道語法比較activity.user反對的值(users.friend_list)數組

它可能很簡單,當你知道如何。任何想法都會很棒。

回答

0

修復您的數據庫架構。 MySQL沒有「數組數組」的概念。您應該使用表格,列和行來描述您的數據以及實體之間的關係。

您可以創建一個friends表,您可以在其中存儲兩個朋友的ID。那麼這只是一個加入的問題。

CREATE TABLE friends (
    user1 INTEGER NOT NULL, 
    user2 INTEGER NOT NULL, 
    PRIMARY KEY (user1, user2) 
);