重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接用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,最后可以继续给我留言)!
成都创新互联公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供网站设计、做网站、成都网页设计、重庆小程序开发、成都网站开发、成都网站制作、成都软件开发、成都app开发是成都本地专业的网站建设和网站设计公司,等你一起来见证!
这里因为你的id会有缺失所以有的方法不适用!就不一一列举了!
mysql:SELECT * FROM table order by rand() limit 10;
从数据库随机取出来之后再用php处理一下,按照你的需求再排序咯。然后楼主还有什么疑问的话,还不懂,可以去后盾人看看,里面有些资料,兴许能够帮助你
O'Reilly Learning PHP MySQL 第二版
;ID=170283
PHP 5 傻瓜书
;ID=156854
PHP官方参考手册 中文+英文CHM版
;ID=174312
Upgrading to PHP 5
;ID=172787
Wrox Beginning PHP 5
;ID=146843
PHP 5 Advanced
;ID=152684
PHP 5与MySQL编程初学者指南
;ID=152044
PHP 5和MySQL 5 从入门到精通 PDF文字版
;ID=166059
PHP 4.1 从入门到精通
;ID=159334
O'Reilly PHP Cookbook 第二版
How to Do Everything with PHP and MySQL
;ID=175991
PHP MySQL Web Development
;ID=175913
PHP Programming Solutions
;ID=173163
PHP Objects Patterns and Practice
;ID=173160
Learning PHP Data Objects
;ID=173151
PHP技术内幕
;ID=159332
PHP最新参考手册
;ID=146233
PHP程序设计
;ID=146171
PHP经典100例
;ID=152400
PHP by Example
;ID=176304
Object Oriented PHP Concepts Techniques and Code
;ID=152398
The PHP Anthology 第二版
;ID=167353
PHP API使用完全指南
;ID=164843
Wiley出版 Makeing Use of PHP
;ID=166790
PHP实例教程
;ID=152574
PHP in Action
;ID=152648
PHP+MySQL网络开发技术
;ID=156149
PHP设计模式构架师指南
Dreamweaver CS3 with CSS, Ajax, and PHP
;ID=147123
AJAX and PHP Building Responsive Web Applications
;ID=151261
Beginning Ajax with PHP
;ID=146176
PHP Programming with PEAR
;ID=148389
PHP MySQL and Apache自学教程
;ID=146232
PHP Apache和MySQL网页开发初步
;ID=148871
24小时学会使用PHP MySQL Apache
;ID=149004
PHP MySQL 网络应用程序开发核心
;ID=149005
Professional LAMP - Linux,Apache,MySQL and PHP 5 Web Development
;ID=152045
Setting Up LAMP - Getting Linux Apache MySQL and PHP Working Together
;ID=157654
Beginning PHP,Apache,MySQL Web Developmnet
;ID=151985
Beginning PHP and Oracle 从入门到精通
PHP Data Objects for MySQL
;ID=152186
MySQL and PHP from Scratch
;ID=152162
Extending and Embedding PHP
;ID=152160
Wiley出版 Secure PHP Development
;ID=165544
O'Reilly Building Tag Clouds in Perl and PHP
;ID=152158
Wrox Professional Apache Tomcat 5
;ID=152054
PHP MySQL编程初学者指南
;ID=158793
Beginning PHP and Oracle (PDF文字版)
;ID=159155
Advanced PHP for Web Professionals
;ID=159168
Essential PHP Security
;ID=175045
Pro PHP XML and Web Services
Apache Server 2.0 实用指南
;ID=159297
Apache管理员手册
;ID=159296
Apache使用指南与实现原理
;ID=159287
PHP专业项目实例开发 中文PDF版
;ID=159322
PHP高级开发技术与实例 中文PDF影版
;ID=159319
PHP 5 for Flash
;ID=159407
O'Reilly - Tomcat权威指南
;ID=160138
Wrox Professional Apache Tomcat 6
;ID=157418
Pro Jakarta Tomcat 5
;ID=160230
Foundations of PEAR - Rapid PHP Development
;ID=160612
Practical Web 2.0 Applications with PHP(Apress 2008最新版)
;ID=170237
Practical Apache Struts 2 Web 2.0 Projects
;ID=170311
/**
* 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;
}
}
直接用sql随机查询 获取数据 就可以了 SELECT * FROM tablename ORDER BY RAND() LIMIT 10