在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,現在要實現從表裡隨機選取一條記錄,具體程式如下:
| 代碼如下 |
複製代碼 |
$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欄位 |
http://www.bkjia.com/PHPjc/630672.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/630672.htmlTechArticle在php中要隨機取mysql記錄我們可以直接使用mysql_query來執行mysql中的select rand函數擷取的資料並讀出來,下面我來給大家介紹一下具體執行個體。...