0

我无法从 while 循环返回所有行。使用 print_r($item) 检查时,它返回所有行,但是当我用户在 while 循环中返回时,它只返回第一行。我认为那是因为它是第一次返回循环。

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

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

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

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

非常感谢....

4

5 回答 5

1

就像你说的,你在第一排之后回来。尝试以下操作:

$output = '';

while ($item = db_assoc($query)) {
    $output .= "<p>{$item['title']}</p>";
}

return $output;
于 2013-07-25T10:29:44.180 回答
1

尝试在 While 循环中为您想要的创建新数组或创建格式

并返回它..

“返回”它停止执行循环。

while ($item = db_assoc($query)) {
    $output .= "<p>{$item['title']}</p>";
}

return $output;
于 2013-07-25T10:30:26.587 回答
1

你应该使用

while($item = mysql_fetch_array($runsql)){
            $data[]=$item['first_name'];
        }
        return $data;

这是因为当您在循环中编写 return 时,它会返回第一个值,但在 print_r 中会显示所有记录。所以我们必须创建一个必填字段数组,然后返回它

Hope it will help you.

尝试这个。

    while($item = mysql_fetch_array($runsql)){
        $data.=$item['first_name']."<br/>";
    }
    return $data;
于 2013-07-25T10:35:49.597 回答
0

Return 将简单地退出循环,这就是它只打印第一行的原因。如果您想全部返回,请将它们保存在一个字符串中,然后在 while 循环之后返回该字符串。

于 2013-07-25T10:27:54.560 回答
0

return语句导致它中断循环的执行。

试试这个:

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

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

要访问标题,您可以简单地使用 foreach 循环:

foreach($titles as $title){    
echo "<p> $title </p";    
}
于 2013-07-25T10:29:42.940 回答