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程序设计有所帮助。