本文实例总结了 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 字段
- ?>
来源: https://www.php1.cn/detail/php-1bf52a5ca9.html