从数组中的数据库返回多个值时遇到一个问题,因为每次运行此代码时,它仅从数据库中返回第一行,而不是所有行,这是我的代码:
在classes.php中:
class user{
public function showwinners(){
$query="SELECT points,memberid,uname FROM user ";
$all_answers=array();
if($query_run=mysql_query($query)){
if(mysql_num_rows($query_run)==NULL){
return 0;
}
while($query_row=mysql_fetch_assoc($query_run)){
$one=$query_row['points'];
$two=$query_row['memberid'];
$three=$query_row['uname'];
if($one>=1){
$first=$one;
$second=$three;
array_push($all_answers,['name'=>$second,'points'=>$first]);
return $all_answers;
}
}
}
}
}
和showwinners.php中:
$userobj=new user();
$arr=array();
$arr=$userobj->showwinners();
foreach ($arr as $key => $a) {
if(isset($a['name']))
echo $a['name'];
if(isset($a['points']))
echo $a['points'];
}
答案 0 :(得分:1)
尝试一下
integer
答案 1 :(得分:-2)
将return语句移至第二个“}”下 这样,它将位于while循环之外。