PHP 如何简单的获取数据随机显示呢?

来源:百度知道 编辑:UC知道 时间:2024/05/21 04:00:19
比如我MYSQL数据库得到数据,再将值转换成$adsid= '58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108,111';这种格式的,然后要经过数组得到其中随机的一个数值,请问高手,改如何写呢?
呵,终于写出来了,谢谢楼下的朋友,顺便公布给能用到的朋友
function wapads(){

global $sid,$sdb;

$querya = $sdb->query("SELECT * FROM ads");
$ita = 0;
$ids = null;
while($rsa = $sdb->fetch_array($querya)){
$ita++;
$bra = ($ita == 1) ? "" : ",";
$ids = $ids."" .$bra."".$rsa['id'];
}
$id_array=explode(',',$ids);
$rid=$id_array[rand(0,count($id_array)-1)];
$queryads = $sdb->query("SELECT * FROM ads WHERE id=$rid");
while($rsads = $sdb->fetch_array($queryads)){

echo "<br/><a href=\"".$_SERVER['PHP_SELF']."?action=ad&id=".$rsads['id']."&sid=$sid\">".$rsads['name']."</a>";
<

下面的代码测试通过:

<?php
$adsid= '58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108,111';
$id_array=explode(',',$adsid);
$rid=$id_array[rand(0,count($id_array)-1)];
echo $rid;
?>

原理是把你的数据转换为数组,然后用rand生成一个随机数作为数组的下标,取出的数值就是随机的。