①通过MYSQL内置的函数来操作,具体SQL代码如下:
SELECT * FROM tablename ORDER BY RAND() LIMIT 10
建议通过PHP随机生成一下1-X(总行数)之间的数字,然后将这10个随机数字作为查询条件,具体语句如:
可能你还要进行重复排除,并且需要在程序中将10个值串联并连接进入SQL语句中.
①.,php里面的代码
$arr=array();
{
$a=rand(0,10);
$arr[$i]=$a."\n";
}
$this-assign('arr',?$arr);
textarea?rows=10?
volist?name="arr"?id="vo"
{$vo|htmlspecialchars_decode}
/volist
/textarea
你给出的数据组织形式,貌似是json,那么你可以直接用json_encode() 和 json_decode()进行转换后,再进行处理.
示例代码:
php
$json = '{
"expertname": "三剑客",
"firstrate": "0",
"wrong": null,
"lastrate": "0",
"firstnum": "0",
"lastnum": "0",
"successrate": "0",
"lastpaiming": "1",
"curpaiming": "1"
},
"expertname": "东方诸葛",
"expertname": "神探老李",
"expertname": "草原雄鹰",
}';
echo 'Pre';
print_r( json_decode($json,true) );
echo '/pre';
mysql:SELECT * FROM table order by rand() limit 10;
从数据库随机取出来之后再用php处理一下,按照你的需求再排序咯.然后楼主还有什么疑问的话,还不懂,可以去后盾人看看,里面有些资料,兴许能够帮助你
array_rand()
在你想从数组中取出一个或多个随机的单元时相当有用.它接受
input
作为输入数组和一个可选的参数
num_req,指明了你想取出多少个单元
-
如果没有指定,默认为
如果你只取出一个,array_rand()
返回一个随机单元的键名,否则就返回一个包含随机键名的数组.这样你就可以随机从数组中取出键名和值.
主要是用array_rand()方法
直接使用while循环来处理,循环使用随机函数mt_rand,将随机数存入一个数组中,作为判断数据是否重复的依据(in_array);使用glob函数来判断new目录下的文章篇数,作为生成随机数的最大值;整体代码如下:
执行后的效果:
代码操作:
//获取文件夹下html的数量
$max_num?=?glob("xxx/new/*.html");
$num?=?0;
$rand_num?=?[];
$result_arr?=?[];
while($num?100){
$tample_num?=?mt_rand(1,$max_num);
if(!in_array($tample_num,$rand_num)){
$rand_num[]?=?$tample_num;
$result_arr[]?=?"".$tample_num.".html";
$num++;
foreach($result_arr?as?$v){
echo?$v."hr/";
echo?"数组的大小".?count($result_arr);
以上就是土嘎嘎小编为大家整理的php随机取10条数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!