php随机取mysql记录方法小结

yipeiwu_com7年前Mysql基础

本文实例总结了php随机取mysql记录方法。分享给大家供大家参考。具体分析如下:

在php中要随机取mysql记录我们可以直接使用mysql_query来执行mysql中的select rand函数获取的数据并读出来,这里就来给大家简单介绍一下.

方法一,代码如下:

复制代码 代码如下:
select * from tablename order by rand() limit 1

把 limit 后面的数值改为你想随机抽取的条数,这里只取一条.

方法二,代码如下:

复制代码 代码如下:
$query= "SELECT count(*) as count FROM recommends";
....
$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 * FROM recommendsn limit ".$se_pos.",".$length;

例3,假设有一个名为xyj的数据库,库中有表obj,表中有一字段为name,现在要实现从表里随机选取一条记录,具体程序如下:
复制代码 代码如下:
<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("xyj",$db);
$result=mysql_query("SELECT * FROM obj",$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 * from obj limit $se_pos,$length",$db);
$myrow_lim=mysql_fetch_array($result_lim);
printf("%sn", $se_pos);//显示随机得到的记录号
printf("%sn", $myrow_lim["name"]);//显示随机得到的记录的name字段
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP通过插入mysql数据来实现多机互锁实例

本文实例讲述了PHP通过插入mysql数据来实现多机互锁的方法,分享给大家供大家参考。具体实现方法如下: 在执行流程之前可以加一般锁,shell枷锁函数如下,如果成功则会返回0,否则返回...

PHP操作MySQL的mysql_fetch_* 函数的常见用法教程

mysql_fetch_* 列函数 mysql_fetch_* 列函数的主要功能是从查询返回的结果集中取得相关的查询结果,主要包括: mysql_fetch_array():从结果...

解析csv数据导入mysql的方法

mysql自己有个csv引擎,可以通过这个引擎来实现将csv中的数据导入到mysql数据库中,并且速度比通过php或是python写的批处理程序快的多。具体的实现代码示例:复制代码 代码...

Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法

错误提示:Error: Can't create/write to file 'C:\WINDOWS\TEMP\#sql_738_0.MYD' (Errcode: 17) Errno....

PHP4 与 MySQL 数据库操作函数详解

说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起。PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关。   下面...