我在从while循环返回所有行时遇到问题。当检查print_r($ item)时,它返回所有行但是当我用户返回while循环时它只返回第一行。我认为这是因为它是第一次返回循环。
那么如何才能返回所有行..这就是我正在尝试的
while($item = db_assoc($query)){
return '<p>'.$item['title'].'</p>';
}
while循环在class方法中,我必须返回值,所以不能使用echo
非常感谢....
答案 0 :(得分:1)
就像你说的那样,你在第一排之后回来了。请尝试以下方法:
$output = '';
while ($item = db_assoc($query)) {
$output .= "<p>{$item['title']}</p>";
}
return $output;
答案 1 :(得分:1)
尝试在While循环中创建新数组或创建格式
然后归还..
“return”它会停止执行循环。
while ($item = db_assoc($query)) {
$output .= "<p>{$item['title']}</p>";
}
return $output;
答案 2 :(得分:1)
你应该使用
while($item = mysql_fetch_array($runsql)){
$data[]=$item['first_name'];
}
return $data;
这是因为当你在循环中写回序时,它返回第一个值, 但是在print_r中它显示了所有记录。所以我们必须创建一个必需字段数组,然后返回它
Hope it will help you.
试试这个。
while($item = mysql_fetch_array($runsql)){
$data.=$item['first_name']."<br/>";
}
return $data;
答案 3 :(得分:0)
返回将简单地退出循环,这就是它只打印第一行的原因。如果要全部返回,请将它们保存在字符串中,然后在while循环后返回该字符串。
答案 4 :(得分:0)
return
语句导致它破坏了循环的执行。
请改为尝试:
while($item = db_assoc($query)){
$titles[] = '<p>'.$item['title'].'</p>';
}
要访问标题,您只需使用foreach循环:
foreach($titles as $title){
echo "<p> $title </p";
}