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