从朋友那里收到帖子

时间:2013-05-04 11:42:50

标签: php mysql news-feed

我想要完成的是填写一个充满了来自$ username的朋友的帖子,这是会话用户名。

我现在遇到的问题是,如果用户没有关注任何人或没有被任何人跟踪(不在关注表中),那么他们就不会在他们的新闻Feed中看到他们自己的帖子。

其他一切似乎都运转良好。

用户可以看到他们发布的帖子和帖子。 如果他们关注或被关注,用户可以查看他们的帖子。 如果用户没有关注也不被关注,他们就无法看到自己的帖子。

SELECT  p.*
FROM posts p
JOIN follow f
ON p.by IN (f.person_being_followed, '$username')  
WHERE '{$username}' IN (f.person_following, p.by) 
ORDER BY p.id DESC

这也是回显此信息的页面代码

        <?

$get_posts = mysql_query("SELECT  p.*
FROM posts p
JOIN follow f
ON p.by IN (f.person_being_followed, '$username')  ### the ,$username' shows the logged users posts, but only if they are in the follow table ###
WHERE '{$username}' IN (f.person_following, p.by)  ## the p.by shows the person who posted who logged in, but only if they are in the follow table ##
ORDER BY p.id DESC") or die(mysql_error());

while ($post_row = mysql_fetch_assoc($get_posts)) {

    include './includes/newsfeed/postdetails.tpl';
    include './includes/newsfeed/likeinfo.tpl';
    include './includes/newsfeed/fandlname.tpl';
    include './includes/newsfeed/deletepostbutton.tpl';

?>


    <div style='display: inline-block;width: 560px;padding-top: 10px;padding-bottom: 10px; border-bottom: 1px solid rgba(0,0,0,0.1);'>
    <a style='float: left;' href='./profile.php?u=<?
    echo $post_by;
?>'><img src='' height='50px' width='50px'/></a>
    <div style='float: right; width: 500px;'>
    <p style='color: rgb(59, 152, 96);font-weight: bold; font-size: 13px;
line-height: 1.38;font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;'><a style='color: rgb(59, 152, 96);
font-weight: bold;
font-size: 12px;
line-height: 1.38;text-decoration: none;' href='./profile.php?u=<?
    echo $post_by;
?>'><?
    echo "$fnamepost  $lnamepost";
?></a></p>
    <p style='color: rgb(51, 51, 51);
font-size: 13px;
line-height: 1.38;
font-family: 'lucida grande',tahoma,verdana,arial,sans-serif;'><?
    echo $post_content;
?></p>

    <div style='margin-top: 5px;'><a href='./scripts/like.php?pid=<?
    echo $post_id;
?>' style='color:rgb(109, 180, 137);
font-size: 11px;line-height: 1.28;'><?
    echo "$likedornot ($countlikes)";
?></a><a href='#' class='comment_button' style='margin-left: 10px;color:rgb(109, 180, 137);
font-size: 11px;line-height: 1.28;'><?
    echo "Comment";
?></a><?
    echo $deletecodevariable;
?></div>

<?
    include './includes/newsfeed/comments.tpl';
    ?>
</div></div>
<?
}
?>

跟随

的mysql表

also this is my table for follow

帖子的mysql表

and this is my table for posts

1 个答案:

答案 0 :(得分:1)

替换

$get_posts = mysql_query("SELECT posts.*            
FROM posts
INNER JOIN follow            
ON posts.by=follow.person_being_followed          
WHERE follow.person_following = $username
ORDER BY posts.id DESC");

$get_posts = mysql_query("SELECT posts.*            
FROM posts
INNER JOIN follow            
ON posts.by=follow.person_being_followed          
WHERE follow.person_following = '$username'
ORDER BY posts.id DESC") or die(mysql_error());

使用mysql_error()进行调试,以查看是否收到任何打印错误消息