php读取mysql数据库随机显示指定数量的记录

以上是n条记录的mysql表
我想随机显示指定数量的记录出来
例如,随机显示4条记录出来
求php的源代码
1】显示出5条随机的记录
2】显示出5-10条随机的记录,每次数显显示条数与记录都是随机数,可能显示6条或者8条

试试,这个想法行吧。

<?php
$datas = 100; //数据表里100条数据
$setnum = 6; //设置随显示6条
$rand = '';
//for循环组建随机的id
for($i=1;$i<=$setnum;$i++){
$rand .= ",".rand(1,100); //在1~100之间取随机数包括1和100
}
//获得随机ID
$ids = substr($rand,1);
echo $ids;
/*
* 下面用随机ID查询数据就可以了
* select * from table where id in($ids);
*/
?>追问

老师,能详细点吗?
显示结果肯定是很多数组的,具体我写可能太混乱,麻烦你完整一下输出的代码
还有就是,如果是几万,几十万条数据,你这个代码效率如何?是否很消耗资源

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-06
1)随机取出5条记录用sql语句就行了;
mysql如下:"select * from youtable order by rand() limit 5";

2)同样随机取5-10条:
$num=rand(5,10);
$sql="select * from youtable order by rand() limit $num";

ps:为什么不是php分类问题?本回答被提问者采纳
第2个回答  2013-01-14
我想:取出全部纪录,当然是一个数组。可以序列化放文件。然后用shuffle();array_rand();取数组随机纪录。至于纪录条数也是随机。用mt_rand(5,10),把此函数作为array_rand()的参数

php 怎么读取mysql一条数据并输出某一字段
link = mysql_connect(‘host(服务器ip地址,本地用localhost)’,'数据库账户',‘数据库密码’);\/\/选择要连接的数据库 mysql_select_db('数据库名字');\/\/执行查询,返回数据源 query = mysql_query("SELECT * FROM test");\/\/遍历数据源,并赋值给$r,当没有数据时,变成false中断循环 while...

编写php文件, 获取mysql 数据库某个表中一条记录中的指定字段值。
query = " select * from * where title =$_POST[''] limit 1" ;res = mysql_query($query);mysql_fetch_assoc(){ 具体的原函数忘记了,现在基本都用类封装好的数据库操作很少用到这些函数了}

如何用PHP统计mysql数据表里指定字段的内容的总数
num=mysql_num_rows($result); \/\/取得包含id字段记录的行数 echo "一共有".$num."个id"; }思想就是:根据含有ID的记录(数据库里一行内容称为一条记录)条数来确定ID的个数

php mysql 如何只显示表中指定几列的内容
用SQL语言指定你要显示的列就行了,很简单,比如这样 query=mysqj_query("select Store,Goods,Price from Table");这样就只得到你所需要的列了,我建议你看看关于SQL语句的基本用法,这样你就知道该怎么用了

有一个mysql的数据表,我要随机抽取10条记录,用什么方法最好。_百度知...
1.通过MYSQL内置的函数来操作,具体SQL代码如下:SELECT * FROM tablename ORDER BY RAND() LIMIT 10 2.不要将大量的工作给数据库去做,这样会导致数据库在某一集中并发时间内锁死并阻塞。建议通过PHP随机生成一下1-X(总行数)之间的数字,然后将这10个随机数字作为查询条件,具体语句如:SELECT *...

php语句,怎么从数据库中随机获取数据字段。
mysql_select_db("ali_xt");mysql_query('set names utf8');\/\/找出ali_admin表的字段 res = mysql_query('show columns from ali_admin');\/\/将数据给弄出来 data = array();while ($row = mysql_fetch_assoc($res, MYSQL_NUM)) { data[] = $row;} \/\/随机个数,默认5 rand_times...

...在我的数据库MySQL的test表里随机抽取十个数,要求看补充!_百度...
db = new mysqli('localhost', 'root', 'admin', 'learning');$resultArr = array();$i = 0;while ($i < 2) { $where = ''; if (count($resultArr) > 0) { $notIn = implode(',', $resultArr); $where = ' where id not in (' . $notIn . ')'; ...

PHP怎么读取MYSQL中指定行的数据
\/* 连接数据库 *\/ mysql_connect("localhost", "root", "123456");mysql_select_db("name123");\/* 查找test1表中ID为1的那行所有的数据 *\/ sql = "SELECT * FROM test1 WHERE `ID`='1'";\/* 执行查找 *\/ result = mysql_query($sql);\/* 判断查找,如果找到的数据数>0(也就是存在...

php读取mysql数据库表的前20条记录,然后分两行显示,每行10条记录,怎么...
result = mysql_query('select * from mytable limit 0, 20');$i = 0;while ($rs = mysql_fetch_array($result)){ echo $rs['myfield'].' '; $i++; if ($i == 10) { echo ''; }}

php 如何提取mysql 某一个表内的记录数
sql='SELECT COUNT(*)FROM 表名 WHERE `status`=5 ';res=mysql_query($sql);list($cnt)=mysql_fetch_row($res);echo cnt;

相似回答