我无法获取一些数据....我想知道是否有人可以帮助我,
我有 4 个表(喜欢、关注、评论、用户)
我希望能够在用户喜欢/评论/关注/等时填充我的页面......(如果用户正在关注特定用户)。
喜欢
idlikes idusers iditem
1 1 5
2 2 4
3 2 22
跟随
idfollow idusers_follower idusers idbusiness
1 1 2
2 1 3
3 1 4
4 4 2
5 4 1
评论
idcomments idusers text
1 1 asfd
2 2 safd
用户
idusers
1
2
3
4
例如,如果我是 id 用户 #1,我正在关注用户 #2、#3、#4
我的页面将填充以显示:
- #2 喜欢项目 #4、#22。
- #4 在 #2 之后(因为我在 #4 之后,这就是它显示的原因)
- #2 评论“safd”
我不确定显示这个的最佳方式是什么?我目前有多个函数一次查询表,并且我正在将数组合并在一起?或者我应该使用连接表?我现在正在尝试...
获取我关注的用户。
$feeds = new feed();
$meID = 1;
$query = "SELECT idusers FROM follow WHERE iduserse_follower = ?";
$users = $dbh -> prepare($query);
$users -> execute(array($meID));
while($following = $users -> fetch(PDO::FETCH_ASSOC)){
$follow = $following['idusers']; //This will get all of useres I'm following
$populate = $feeds->feed_all($follow); // from function
}
询问
class feed()
{
public function feed_all($idusers)
{
// SYNTAX HELP //////////////////////
$query = "SELECT
f.idusers_follower,
f.idusers,
l.iditem,
c.text
FROM follow f, users u
JOIN likes l
ON l.idusers = f.idusers
JOIN comment c
ON c.idusers = f.idusers
WHERE f.idusers_follower = ? AND f.idusers_follower = l.idusers AND f.idusers_follower = c.idusers AND f.idusers = u.idusers"
$pop = $dbh->prepare($query);
$pop ->execute($idusers);
// while loop to return value
while($row = $pop -> fetch(PDO::FETCH_ASSOC))
{
$feed_data[]=$row;
}
return $feed_data;
}
}
这就是我卡住的地方。:( 我什至不确定我的陈述是否正确?
++++++++++ 编辑:++++++++++++
我已编辑添加idbusiness
现在因为我关注#4,它也会显示#4 正在关注#1。