扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
$sql="select * from mytb order by time desc limit 5"
高陵网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
不足5条,没关系。
凡事多尝试。
为了便于随时echo,存为字符串最好,一般的代码如下:
$sql='select * from xxx order by xxid desc limit 5';//limit 5表示只取5个,order by xxxid desc表示按xxxid降序排列,可以显示最新的5个
$res=mysql_query($sql);
$str5='';//保存的结果
while($row=mysql_fetch_array($res)) $str5.=$row[0].‘br';//可能你需要修改这一句,控制显示格式
mysql_free_result($res);
以后你就可以随时echo $str5了。
如果有类似于id,时间的排序字段就很简单了,思路就是按排序字段倒序查询出来,然后limit取5条就行了。sql:SELECT * FROM userlist ORDER BY id DESC LIMIT 5;
如果没有,你就得分两步,首先获取总数,然后最用limit取最后5条。
1、SELECT COUNT(*) FROM userlist; //获取总数
2、SELECT * FROM userlist LIMIT (总数-5),5
直接用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,最后可以继续给我留言)!
这里因为你的id会有缺失所以有的方法不适用!就不一一列举了!
给你写个函数:
function haha($arr){
$keys=array_rand($arr,5);
$re=array();
foreach($keys as $v){
$re[$v]=$arr[$v];
}
return $re;
}
如果文件不是太大的话,可以这样写:
?php
$arr=file('a.txt'); //文本文件,请修改合适的名字和位置
$n=count($arr);
for ($i=0;$i5;$i++) echo $arr[rand(0,$n)]."br';
?
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流