我正在学习 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 } ?>
当我再次刷新网站后,它会随机显示其中一篇帖子,一切正常。
我的问题是,如何显示随机新闻而不显示“没有更多帖子”的注释。因此,如果有 2 个帖子,它应该始终从第 1 个帖子随机切换到第 2 个帖子。
最佳答案
为什么不使用ORDER BY RAND()
?它对查询结果进行随机排序
还使用普通联接而不是左联接并删除“posts.uid=users.user_id
”。
关于php - MySQLi 圆 Rand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28068257/