1#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
1#楼 发表于2005-03-25 04:01:40
评分:1
|
|
你现在的写法,应该说效率还是很低的
你看,你只是为了找一条记录,却查询表中的全部数据放在$mq中,然后一个一个的找,万一符合条件的记录在最后一个的话,那就得用循环找遍整个记录集,效率太低。
其实有更好的方法:直接查询出姓名长度为4的所以记录,然后把第一条输出
select * from person where LENGTH(name)=4
这句话查询出所有用户名长度为4的记录,然后直接输出一条很简单了
如果要想随机输出一条,就用个随机函数rand(),比如一共有100条符合条件的,那么产生一个0-100之间的随机数,
$count=rand(0,100);
然后输出第$count个记录,方法就是用循环
$i=0;
while(){
$i=$i+1;
if($i==$count){
输出这条记录
break; //break用来退出循环,也就是终止循环
}
}
这样就没问题 |
|
2#楼 |
|
|
回复人:slopesun |
注册时间:2004-09-07 |
主题/回复:58/67 |
积分:753 |
等级:★★★(六级) |
称号:声名鹊起 |
|
|
|
2#楼 发表于2005-03-25 17:02:11
评分:×
|
|
其实刚开始我就找MYSQL有没有直接计算字段长度的函数,也就是这个length.
thank you
|
|