如果要在这前10条里面随机显示一条,可以存到数组里面,然后随机输出,例如:
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了吉阳免费建站欢迎大家使用!
$rows=array();
while($row=mysql_fetch_array($res)){
$rows[]=$row;
}
$n=rand(0,9);
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
你的意思是说
点击查询后
要吧与关键字相关联的整条记录都显示出来?
那样的话
你要先把这条记录复制
给某个数组,然后输出这个数组就可以了
$sql="select
*
from
db1
where
name=$_post[name]";
$result=mysql_query($sql,$con);
$row=mysql_fetch_array($result)
echo
$row[name];
echo
$row[age];
……
/**
* 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;
}
}
1,sql distinct 70条不一样的数据。
2.存入global数组中并 shuffle 这个数组。
3.读取每页页码,以这个页码为key 取出数据。
4.done
你可以直接在sql 里写随机 select name from users where state='1' and weiname!='' and imageurl!='' and sex!='' order by rand() limit...