网站首页 > 文章中心 > 其它

php随机查询数据结构

作者:小编 更新时间:2023-09-02 13:15:50 浏览量:53人看过

我想从一个名字组 数据列表中随机筛选几个人出来 用php怎么写?

echo "方法一:";

echo "br\n";

$str = "李一,李二,李三,李四,王一,王二,王三,王四,张一,张二,张三,张四"; //某id下的名字字段的全部文字内容,设为变量$str

$temp = explode(",", $str); //以逗号拆分字符串$str,变成数组$temp

$result = array(); //最终数组,先初始化下

$key = rand(0, count($temp)-1);//获取随机数

$result[] = $temp[$key];//通过随机数找到$temp数组中的值,即随机的名字,赋值给$result数组

php随机查询数据结构-图1

unset($temp[$key]); //把刚才取出的名字从$temp数组中删除

sort($temp); //从新排列下$temp数组的顺序,使其键值还是从0开始,为下次循环做准备

}

echo "结果为:";

print_r($result);

echo implode(",", $result);

php随机查询数据结构-图2

echo "方法二:";

$result[] = $temp[$val]; //通过键值从temp数组找到对应的内容,即随机的名字,赋值给$result数组

thinkphp3.1怎么随机取数据库中几条记录

直接用sql随机查询 获取数据 就可以了 SELECT * FROM tablename ORDER BY RAND() LIMIT 10

php随机输出记录集中的一条记录

如果要在这前10条里面随机显示一条,可以存到数组里面,然后随机输出,例如:

$rows=array();

while($row=mysql_fetch_array($res)){

$rows[]=$row;

echo "a href='bbpress/topic.php?id={$rows[$n][topic_id]}'".$rows[$n][topic_title]."/br"."/a";

echo "a href='bbpress/topic.php?id={$rows[$n][topic_id]}'".$rows[$n][topic_title]."/br"."/a";

echo "a href='bbpress/topic.php?id={$rows[$n][topic_id]}'".$rows[$n][topic_title]."/br"."/a";

如果希望直接在数据库里面随机提取一条记录,那么方法是修改SQL:

select * from ... order by rand() limit 1

php返回随机数据

用PHP 随机函数

$num = select count(*) from bbs;

$id= mt_rand(1,$num);

然后执行 SQL select user,bbs from +bbs+ where id = .$id;

为提高效率 最好别用 mysql的 rand()函数

php 数据库中输出的数据结构

从数据库读出来的原始数据是资源.还不是数组.

$result = mysql_Query("select * from tb_admin where parid=1")

while($list = mysql_fetch_array($result)){

print_r($list);//这里输出的数组是将原数组拆开来输出.

原始的数据结构应是:

array(

[0]=array(

[id]=01

[classname]=我是

[url]=baidu.com

)

[1]=array(

//这里同上,不两累赘

php随机查询数据结构-图3

thinkphp 单条查询改成随机查询

$map?=?array('id'=?array('exp','?=?(SELECT?FLOOR(?MAX(id)?*?RAND())?FROM?+'.C('DB_PREFIX').'custom_reply_news+?)'));

$dd?=?M("custom_reply_news")-where($map)-order('id')-find();

dump($dd);?

//?第二种查询时间只有0.01秒

$map?=?array('id'=?array('exp','?=?(SELECT?floor(RAND()?*?(SELECT?MAX(id)?FROM?+'.C('DB_PREFIX').'custom_reply_news+)))'));

//?第三种加上了MIN(id)的判断.我在最开始测试的时候,就是因为没有加上MIN(id)的判断,结果有一半的时间总是查询到表中的前面几行.

$map?=?array('id'=?array('exp','?=?(SELECT?floor(?RAND()?*?((SELECT?MAX(id)?FROM?+'.C('DB_PREFIX').'custom_reply_news+)-(SELECT?MIN(id)?FROM?+'.C('DB_PREFIX').'custom_reply_news+))?+?(SELECT?MIN(id)?FROM?+'.C('DB_PREFIX').'custom_reply_news+)))'));

//?第四种采用JOIN的语法比直接在WHERE中使用函数效率还要高很多

dump($dd);

以上就是土嘎嘎小编为大家整理的php随机查询数据结构相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章