PHP:While循环返回所有行

时间:2013-07-25 10:25:29

标签: php while-loop

我在从while循环返回所有行时遇到问题。当检查print_r($ item)时,它返回所有行但是当我用户返回while循环时它只返回第一行。我认为这是因为它是第一次返回循环。

那么如何才能返回所有行..这就是我正在尝试的

while($item = db_assoc($query)){

    return '<p>'.$item['title'].'</p>';
}

while循环在class方法中,我必须返回值,所以不能使用echo

非常感谢....

5 个答案:

答案 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";    
}