php随机取mysql记录方法小结
本文实例总结了php随机取mysql记录方法。分享给大家供大家参考。具体分析如下:
在php中要随机取mysql记录我们可以直接使用mysql_query来执行mysql中的selectrand函数获取的数据并读出来,这里就来给大家简单介绍一下.
方法一,代码如下:
select*fromtablenameorderbyrand()limit1
把limit后面的数值改为你想随机抽取的条数,这里只取一条.
方法二,代码如下:
$query="SELECTcount(*)ascountFROMrecommends";
....
$max_num=$row['count'];//取记录总数
srand((double)microtime()*1000000);//随机数种子
$se_pos=rand(0,$max_num);//随机数范围
$length=6;//记录条数
if(($max_num-$se_pos)<=$length){
$se_pos=$max_num-$se_pos;//记录数不足6条的情况
}
$query="SELECT*FROMrecommendsnlimit".$se_pos.",".$length;例3,假设有一个名为xyj的数据库,库中有表obj,表中有一字段为name,现在要实现从表里随机选取一条记录,具体程序如下:
<?php
$db=mysql_connect("localhost","root");
mysql_select_db("xyj",$db);
$result=mysql_query("SELECT*FROMobj",$db);
$max_num=mysql_num_rows($result);//取得数据库的记录数
srand((double)microtime()*10000000);//生成随机数种子。
$se_pos=rand(0,$max_num-1);//从0到最大记录数取随机数
$length=30;//设定共取多少条记录
//下面是取出指定数目的记录。
$result_lim=mysql_query("select*fromobjlimit$se_pos,$length",$db);
$myrow_lim=mysql_fetch_array($result_lim);
printf("%sn",$se_pos);//显示随机得到的记录号
printf("%sn",$myrow_lim["name"]);//显示随机得到的记录的name字段
?>
希望本文所述对大家的php程序设计有所帮助。