MySQLi 圆兰特 ()

MySQLi Round Rand()

我正在学习 PHP 和 MySQLi。在简单的网站上工作,我在 mysqli 中遇到 Rand() 问题。

SELECT * FROM posts LEFT JOIN users ON users.user_id=posts.uid WHERE posts.uid=users.user_id and posts.active=1 and catid=6 AND feat=1 AND pid >= Round(  Rand() * ( SELECT Max( pid ) FROM posts )) limit 1

这就是我从数据库中选择 posts 并在网站上随机显示它们的方式,但问题是当我们说 2 posts 随机显示第 3 个(刷新)在我的例子中,会说行中没有 post 并且什么也不显示。

 if($CountRows==0){ ?> <div class="col-note">No more posts.</div>
   <?php } ?> 

我再次刷新网站后,它会随机显示 post 之一,一切正常。

我的问题是,如何在不显示注释的情况下随机显示新闻"No more posts"。所以如果有 2 个 posts,它应该总是从第 1 个随机切换到第 2 个。

为什么不使用 ORDER BY RAND()?它随机排序查询结果

也使用普通联接而不是左联接并删除“posts.uid=users.user_id”。