我正在学习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
这就是我从数据库中选择帖子的方式,并在网站上随机显示,但问题是当我们说2个帖子随机显示时,第3个帖子(刷新)会在那里说“'在我的案例中,没有任何帖子,也没有显示任何内容。
if($CountRows==0){ ?> <div class="col-note">No more posts.</div>
<?php } ?>
我再次刷新网站后会随机显示其中一个帖子,一切正常。
我的问题是,如何在没有显示注释的情况下随机显示新闻&#34;没有更多帖子&#34;。所以,如果有2个帖子,它应该随机从第1个到第2个。
答案 0 :(得分:1)
为什么不使用ORDER BY RAND()
?它随机命令查询结果
还使用普通联接而不是左联接并删除&#39; posts.uid=users.user_id
&#39;