0

あなたの友人やあなた自身からのコンテンツを表示する Facebook スタイルのニュース フィードを作成しようとしています。現時点で、私は本当に苦労しています。それが正しいかどうかはわかりません。

user_followers というテーブルを取得しました

CREATE TABLE IF NOT EXISTS `user_Followers` (
  `user_follower_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `follower_id` int(11) NOT NULL,
  `date_followed` datetime NOT NULL,
  PRIMARY KEY (`user_follower_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

もう 1 つは usersActivity と呼ばれます

CREATE TABLE IF NOT EXISTS `usersActivity` (
  `activity_id` int(11) NOT NULL AUTO_INCREMENT,
  `activity_identifier` enum('1','2','3') NOT NULL,
  `user_identifier` int(11) NOT NULL,
  `row_id` int(11) NOT NULL,
  `timestamp` datetime NOT NULL,
  PRIMARY KEY (`activity_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ;

user_id は、別のユーザーと友達になっている/フォローしているユーザーの ID を格納し、 follower_id は、フォローされている人の ID です。

やろうとしているのは、メンバー 1 がフォローしているすべてのユーザーの follower_id を取得し、そのアクティビティとメンバー 1 のアクティビティを取得してページに表示することです。user_identifier がメンバー 1 であるか、または彼/彼女がフォローしているユーザーであるかを確認します。

これまでのところ、これは私が得たワットです:

// Fetch userActivity data
$activites = mysql_query("
  SELECT 
    a.activity_id, 
    a.row_id, 
    a.activity_identifier, 
    b.follower_id
  FROM usersActivity a INNER JOIN user_Followers b ON a.user_identifier = b.follower_id
  WHERE a.user_identifier=b.follower_id
  ORDER BY activity_id DESC 
  LIMIT 0,20");

上に書いたことを理解していただければ幸いです。

どんな助けでも大歓迎

4

1 に答える 1

0

あなたのSQLクエリでは、「user_Followers」の代わりに「user_Followes」と書いています

それはSQLクエリのタイプミスですか?

また、ASを使用してテーブルのエイリアスを試してください

SELECT a.activity_id FROM usersActivity AS a
于 2012-07-29T16:10:01.560 に答える