随机显示MySQL数据库表中的数据,其实并不难,关键是用哪种方法。前段时间想做一个随机显示数据库中记录的PHP程序,搜集了点资料,看了看相关的函数,有了自己的思路,方法是:查询数据库,检索出id字段,放入数组,然后用数组的随机函数将数组元素打乱,然后根据要随机显示的数量从数组中抽出一定数量的数据,然后根据数组元素中的id查询数据库。程序如下:
<?php //本程序运行于PHP5.0以上版本通过
$array=array();
$query="SELECT id from table LIMIT 0,200"; //table为表名 取其中200条记录
$result=mysql_query($query);
$num_rows=mysql_num_rows($result); //返回查询到的记录条数
while($row=mysql_fetch_array($result))
{
$array[]=$row['id']; //将字段内容读到数组中
}
$rand_keys=array_rand($array,$num_rows); //将数组随机打乱
for ($i=0;$i<20;$i++) //这行设置从数组中取出几个元素,这里是取20个
{
$id=$array[$rand_keys[$i]]; //取数组中的第i个元素
$query="select * from table where id='$id'";//查询数据库
$result=mysql_query($query);
$num=mysql_fetch_assoc($result);
…… //省略的内容为你自己的查询数据库的程序了。
}
?>