将多个数据分配给var inside循环并尝试在循环外使用var

时间:2016-02-09 05:19:41

标签: php loops variables while-loop scope

我有5条数据。

我将所有5个数据放入while循环中的变量中。然后,我试图在while循环之外使用变量 - 但是放入所有数据,仍然是echo。

目前,我可以将数据放入,并成功获取1个数据。我想回复所有5个数据。

代码:

        $s = <a search query that gets data from external db>
        while($data = $r->FetchRow($s)) { 
        $addr = 'test address';
        if($data['image'] == '') { $data['image'] = 'nophoto.jpg';}
            $a = '<div style="height: 85px; width: 100%;"><img src="http://website.com/'.$data['image'].'" align="left" border="0" hspace="15" alt="Click for details" height="85px" width="120px" />'.$addr.'';
                                    }
        $m = "This is a test message <br />" .
        $m = "".$a."" . 
        $m = "This is the end of a test message";
        echo $m;

1 个答案:

答案 0 :(得分:0)

在循环中,您要为$a分配值。

因此,最新值会覆盖旧值,因此您将获得最后一个值。

如果您想获取所有数据,则需要在循环中附加$a

更正后的代码:

$a = '';
$s = <a search query that gets data from external db>
while($data = $r->FetchRow($s)) {
 $addr = 'test address';
 if($data['image'] == '') {
  $data['image'] = 'nophoto.jpg';
 }
 $a .= '<div style="height: 85px; width: 100%;"><img src="http://website.com/'.$data['image'].'" align="left" border="0" hspace="15" alt="Click for details" height="85px" width="120px" />'.$addr.'';
}
$m = "This is a test message <br />" .
$m = "".$a."" . 
$m = "This is the end of a test message";
echo $m;