我如何制作一个类似 Twitter 的关注系统,如果您关注某人,您将收到他们的推文。我有一个名为“users”、“followings”和“posts”的数据库表。users 表包含我网站上的用户。以下显示人员关注者,此表设置如下:'id,user_one,user_two'。帖子表包含唯一用户拥有的所有推文或帖子。
我为每个用户设置了一个个人资料页面,并带有一个关注按钮。而且我还有一个用户的新闻提要,但在那个新闻提要中,我需要它来显示登录用户正在关注的用户的帖子。无论如何,我是否可以让用户关注某人并在他们的新闻提要上接收该用户的帖子。
现在我做了一些研究:他们的系统似乎无法正常工作。我不断收到此错误:
警告: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;
}
我相信这段代码应该显示其他用户的帖子,导致了这个问题,但我不知道为什么。