直接用select * from student order by rand() limit 5不是一个很好的习惯,这个要考虑到数据库的大小问题,比如,数据量为10W以上,这样查询的效率是非常低的,资源也消耗挺多!你可以考虑在php与mysql结合来实现,比如:先用mysql 的count()计算出student的总条数$sum_num,赋值到php中的变量中,后在php中更具这个总条数进行生成随机数(这里涉及到你的5条数据是否为连续的5条随机数,还是打乱的随机五条),这里如果生成连续的数据就只需要生成一个小于$sum_num-5的随机数就可以了!根据这个随机数进行limit取出5条就可以;如果这里需要生成打乱的随机数,就需要生成5个不相同的并且小于$sum_num随机数,最后根据这些随机数在数据库中查询,第一种情况用到limit 随机数,5;;第二种情况用到in(随机数1,随机数2,随机数3,随机数4,随机数5);在数据量大的情况下,这样的效率和资源消耗的情况下都要比select * from student order by rand() limit 5好得多,当然如果数据量不多的话就用这个也可以!只是给你普及个知识!祝你学习愉快!(这里暂且认为你会用php生成随机数并且这里的php生成的随机数必须为大于0的整型哦,不会的话可以先百度、google,最后可以继续给我留言)!
创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为嘉善企业提供专业的网站建设、成都网站建设,嘉善网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
这里因为你的id会有缺失所以有的方法不适用!就不一一列举了!
直接用sql随机查询 获取数据 就可以了 SELECT * FROM tablename ORDER BY RAND() LIMIT 10
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分类问题?
?php
include("conn.php");
$sql="select * from `table` limit 0,4 ";
$query=mysql_query($sql);
while($result=mysql_fetch_array($query)){
var_dump($result)br;
}
?
浏览器页面上就是就会输出你从数据库中选出的4条数据,如果你想单独一条条的用这些数据,可以这么做:(假如选出4个字段为id、name、pw、age)
?php
include("conn.php");
$sql="select * from `table`";
$query=mysql_query($sql);
$result=mysql_fetch_array($query);
?
这是id:?echo $result['id']?br
这是name:?echo $result['name']?br
这是pw:?echo $result['pw']?br
这是age:?echo $result['age']?
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款