Facebook、Twitter、その他のソーシャル メディア サイトのようなニュース フィード ページを作成しています。
私の問題は、各ユーザーの友人のすべてのユーザー ID を取得し、それらすべての値を使用して、すべての新しい更新を含む別のテーブルをクエリする必要があることです。
では、私には 3 人の友達 (1,2,3) がいるとしましょう。同じクエリで WHERE 句の 3 つの値すべてを使用して別のテーブルを検索し、日付順に並べ替えたいと考えています。
私がこれまで行ってきた方法では、すべての ID を配列に入れ、foreach ループを使用してデータベースにすべての値をクエリしますが、これは配列内のユーザー ID の順序に基づいてすべての結果をグループ化するため、結果は、更新が行われた時間ではなく、この 11111,222222,333333 のようになります。したがって、3 が 1 または 2 の数日前に更新を行ったとしても、それは常に 2 の後に行われます。
これが最善の方法ではないことは承知していますが、これまでのところ、私が考えることができる唯一の方法です。
どうぞよろしくお願いいたします。
私のコード:
$id = $_SESSION['id'];
$update = mysql_query("
SELECT profile_id FROM `fiends`
WHERE `my_fiend_id` = '$id'
");
$result = $update;
$fiends = array();
while (($row = mysql_fetch_assoc($result)) !== false) {
$fiends[] = array(
'id' => $row['profile_id'],
);}
foreach($fiends as $fiend) {
$fiend_id = $fiend['id'];
$update_select = mysql_query("
SELECT * FROM `update`
WHERE `NU_id` = '$fiend_id'
ORDER BY `time` DESC
");
$result = $update_select;