我想随机取出数据库中的5条数据

我想随机取出数据库中的5条数据,第1张

你可以先用select from user取出全部的数据

然后取得rs的最大记录数(rsrecordcount),然后再随机取出1到最大记录数之间的随机5个数(这步应该很简单,不用解释如何做了吧呵呵),然后使用rsmove(你随机的5个数字之一)就可以分别取出5条记录来这个办法的好处是你的主键id不需要是连续的,而绝大多数表都不是连续的呵呵所以使用Sql语句的where id=随机数字的方法不是很安全

$sql = "select from table";

$result = mysql_query($sql);

$rand = mt_rand(0,mysql_num_rows($result));

$i=0

while($rs = mysql_fetch_array($result)){

if($rand == $i){

$output = $rs[$i];

}

$i++;

}

$output数组就是随机记录

/

  MySQL 随机取记录

  

  @param $t 表

  @param $c ID列,默认为id

  @param $n 取多少个

  @param $w 条件语句

  @param $f bool 是否强制以多维数组形式返回,默认false

  @return array 取1个直接返回结果数组(除非$f为true),取>1个返回多维数组,用foreach取出

 /

function rand_row($t , $c = 'id' , $n = '1', $w = '' , $f = false) {

$m=new mysqli(mysqli信息,自行查找php文档);

if (!empty($w)) {

$w = ' AND '$w;

}

$sql = "SELECT  FROM `{$t}` WHERE {$c} >= (SELECT floor(RAND()  (SELECT MAX({$c}) FROM `{$t}`))) {$w} ORDER BY {$c} LIMIT {$n};";

$xq  = $m->query($sql);

$r   = array();

while ($x = $m->fetch_array($xq)) {

$r[] = $x;

}

if ($f == false && count($r) == 1) {

return $r[0];

} else {

return $r;

}

}

Select Top 5 From 表名 Order By NEWID() , newid 产生的新的值是不固定的 。 在Select表里的数据的NEWID() 函数时候 随即选出N条记录 。希望能够帮助你 。

以上就是关于我想随机取出数据库中的5条数据全部的内容,包括:我想随机取出数据库中的5条数据、php要是随机的从数据库中调取数据怎么实现啊,请指点、如何在数据库中随机取出1条记录PHP等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9360027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存