誰かをフォローすると、そのツイートを受け取る、Twitter のようなフォロー システムを作成するにはどうすればよいですか。「users」、「followings」、「posts」というデータベース テーブルがあります。users テーブルには、サイトにいるユーザーが保持されます。以下は人のフォロワーを示しています。このテーブルは「id、user_one、user_two」のように設定されています。posts テーブルには、一意のユーザーが持つすべてのツイートまたは投稿が保持されます。
各ユーザーのプロフィール ページにフォロー ボタンを設定しました。また、ユーザー用のニュース フィードもありますが、そのニュース フィードでは、ログインしているユーザーがフォローしているユーザーからの投稿を表示する必要があります。とにかく、ユーザーに誰かをフォローしてもらい、ニュースフィードでそのユーザーからの投稿を受け取ることはできますか?
今、私はいくつかの調査を行いました.彼らのシステムは機能していないようです. このエラーが発生し続けました:
警告: implode() [function.implode]: 無効な引数が 12 行目の function.php に渡されました
SELECT
user_id,
body,
stamp
FROM posts
WHERE user_id in ()
ORDER BY stamp DESC
警告: mysql_fetch_object(): 指定された引数は、function.php の有効な MySQL 結果リソースではありません。
ここにあるこの行は、その人をフォローするとツイートなどを受け取る場所を作るのに役立つと思われていました
function show_posts($userid,$limit=0){
$posts = array();
$user_string = implode(',', $userid);
$extra = " and id in ($user_string)";
if ($limit > 0){
$extra = "limit $limit";
}else{
$extra = '';
}
$sql = "select user_id,body, stamp from posts
where user_id in ($user_string)
order by stamp desc $extra";
echo $sql;
$result = mysql_query($sql);
while($data = mysql_fetch_object($result)){
$posts[] = array( 'stamp' => $data->stamp,
'userid' => $data->user_id,
'body' => $data->body
);
}
return $posts;
}
他のユーザーからの投稿を表示するはずのこのコードがこの問題を引き起こしていると思いますが、その理由はわかりません。