instagram风格探索页面mysql无限滚动的随机帖子

时间:2019-06-18 08:46:40

标签: php mysql sql

我对instagram风格无限滚动系统有疑问。我正在尝试制作该页面。他们随机显示帖子,但我对无限滚动部分感到困惑。我创建了此查询:

$morequery=" AND p.post_id<'".$lastpost."' ";

SELECT DISTINCT p.post_id,
                p.user_id, 
                u.username 
FROM  posts p, users Uu 
WHERE u.ustatus='1' AND 
      p.userid_fk =u.user_id AND 
      $morequery ORDER BY p.post_id DESC LIMIT

查询的工作方式类似于当用户向下滚动发送lastpost id的ajax代码并使用lastpost进行查询时。但这不是随机系统,我在此查询中仅使用DESC。如果我在页面打开rand()工作但滚动不工作时将查询ORDER BY p.post_id DESC LIMIT更改为ORDER BY RAND() LIMIT

我已经搜索了一些关于stackoverflow的解决方案。他们说使用会话如下:

$_SESSION['seen_scroll_posts'] = array();
if (!empty($_SESSION['seen_scroll_posts'])) {
  $morequery = " AND post_id NOT IN (" . implode($_SESSION['seen_scroll_posts']) . ") ";
}

这不是一个好的解决方案,因为如果用户向下滚动多次,则页面将变慢。如果我使用会话解决方案,页面也会变慢,那么post_id也是主键。

无论如何,有没有像instagram Explore这样的随机显示帖子?在这方面,您有什么建议或解决方案吗?

0 个答案:

没有答案