随机文章是最常见的应用了,可能看起来比较容易,但实际中还是要回掌握正确的方法会让你省去许多代码量。如果你要随机取出数据库里的文章,有以下三种做法。
用PHP算出随机ID
先求得最大ID,然后写一个函数从1到最大ID之间随机取出N个不重复的,然后到数据里取出来,这种方式的前提是你的文章ID要连续。
取出所有文章ID从中选择
也是用PHP先从数据库里取出所有文章ID,然后使用PHP的shuffle()函数打乱数组,再取数组的前N个元素达到随机效果。这种比较麻烦,需要先取出ID,然后打乱然后再到数据库里取信息,不推荐。
使用MySQL函数RAND()
这个函数跟JS的一样可以产生0到1之间的随机数,但巧妙利用就可以实现取出随机文章的效果。
SELECT * FROM blog ORDER BY RAND() LIMIT 10;
以上SQL语句即可随机取出10条博文,不管ID是否重复,挺方便吧!