网站地图    收藏   

主页 > php专栏 > php应用 >

php随机取mysql记录方法示例 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 在php中要随机取mysql记录我们可以直接使用mysql_query来执行mysql中的select rand函数获取的数据并读出来,下面我来给大家介绍一下具体实例.方法一,代码如下:select * from tablename order ......

php随机取mysql记录方法示例

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

方法一,代码如下:

select * from tablename order by rand() limit 1 

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

方法二,代码如下:

  1. $query"SELECT count(*) as count FROM recommends"
  2. .... 
  3. $max_num = $row['count']; // 取记录总数 
  4. srand((double)microtime()*1000000); // 随机数种子 
  5. $se_pos = rand(0, $max_num); // 随机数范围 
  6. $length = 6; // 记录条数 
  7. if (($max_num - $se_pos) <= $length) { 
  8.     $se_pos = $max_num - $se_pos// 记录数不足6条的情况 
  9. }//开源代码phpfensi.com 
  10.  
  11. $query = "SELECT * FROM recommendsn limit ".$se_pos.",".$length

例3,假设有一个名为xyj的数据库,库中有表obj,表中有一字段为name,现在要实现从表里随机选取一条记录,具体程序如下:

  1. <?php 
  2.  
  3. $db = mysql_connect("localhost""root"); 
  4.  
  5. mysql_select_db("xyj",$db); 
  6.  
  7. $result=mysql_query("SELECT * FROM obj",$db); 
  8.  
  9. $max_num=mysql_num_rows($result);//取得数据库的记录数 
  10.  
  11. srand((double)microtime()*10000000); //生成随机数种子。 
  12.  
  13. $se_pos=rand(0, $max_num-1); //从0到最大记录数取随机数 
  14.  
  15. $length=30; //设定共取多少条记录 
  16.  
  17. //下面是取出指定数目的记录。 
  18.  
  19. $result_lim=mysql_query("select * from obj limit $se_pos,$length",$db); 
  20.  
  21. $myrow_lim=mysql_fetch_array($result_lim); 
  22.  
  23. printf("%sn"$se_pos);//显示随机得到的记录号 
  24.  
  25. printf("%sn"$myrow_lim["name"]);//显示随机得到的记录的name字段 
  26. ?>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论