這篇文章主要介紹了php隨機取mysql記錄方法,實例分析了幾種常見的隨機獲取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程序設計有所幫助。