1

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

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

其他一切似乎都很好。

用户可以看到他们的帖子和他们关注的人。如果他们正在关注或被关注,用户可以看到他们的帖子。如果用户没有关注或被关注,用户将无法看到他们自己的帖子。

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表跟随

这也是我要关注的表

用于帖子的mysql表

这是我的帖子表

4

1 回答 1

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()调试目的,以查看是否打印出任何错误消息

于 2013-05-04T11:50:28.943 回答