友人と私からの最新の投稿を表示するスクリプトを作成しようとしています。これに関連する 3 つのテーブルがあります - statusUpdates (投稿を含む)、friends (ID を使用した友人間のリンク)、users (Web サイトのすべてのユーザーの詳細を含む)。現時点で使用しているスクリプトは次のとおりです。
$myQuery = mysql_query ("SELECT * FROM statusUpdates AS su
LEFT JOIN (friends AS fr) ON
(fr.frHostID = su.authorID OR fr.frContactID = su.authorID)
WHERE (fr.frHostID = 105090)
GROUP BY su.statusID
ORDER BY su.statusID
DESC LIMIT 0,5");
105090 は私自身の ID です。
問題は、友達がいない場合、複数のステータス更新を行ったにもかかわらず、投稿が 1 つも表示されないことです。
解決策は、友人テーブルに行を作成して、私を自分の友人として追加することです。しかしその場合、「Show List of Friends」ページやその他の関連ページに自分の名前が表示されないようにする必要があります。
私は最初に使用INNER JOIN
していて、上記の問題を抱えていました。その後、同様の問題LEFT JOIN
が発生し、提案されたとおりにスクリプトを変更しました。その投稿のOPの問題は解決したようですが、私のものではありません。その投稿にコメントを送信できません (おそらく 2 年前の投稿です)。だから私はこの投稿を作成しています。