如何在视图上显示数据

时间:2011-04-28 06:33:04

标签: php mysql zend-framework

我是zend框架中的新手。我想在视图中显示记录。 但是我显示数据时出错。请帮助。 在此先感谢........

当我使用foreach循环显示记录

<?php foreach($this->fetchedData as $showData  ){ ?>

 <td><?php    echo $showData['name'];?></td>
   <td><?php  echo $showData['address'];?></td>

将错误显示为:invalid statement used in foreach

3 个答案:

答案 0 :(得分:9)

这可能是原因:

您的$ this-&gt; fetchedData可能不包含数据。并且foreach循环可能无法处理它......

试试这段代码:

<?php
$data = $this->fetchedData;
if(isset($data))
{
?>

<?php foreach($this->fetchedData as $showData  ){ ?>

    <td><?php    echo $showData['name'];?></td>
    <td><?php  echo $showData['address'];?></td>
<?php
    }
}
?>

如果您仍然面临问题,请告诉我.....?

答案 1 :(得分:6)

也许你应该先开始学习zend framwork的 MVC基础知识。从Zend Framework 1.8 tutorial 1 MVC basics开始,youtube上有一个很棒的教程系列。

有关http://www.zftutorials.com/的更多教程。

程序员参考指南Zend Framework & MVC Introduction


要解决您的具体问题,您应该向我们提供您的代码并指出错误。


通过关联数组循环,您必须使用http://php.net/manual/en/control-structures.foreach.php

foreach (array_expression as $key => $value)
    statement

所以

 foreach($this->fetchedData as $key => $value) {
    echo $value['names'].' and '. $value['addresses'];
 }

答案 2 :(得分:3)

在控制器中使用以下内容将数据传递给视图:

$this->view->foo = 'bar';

然后在视图中,您可以像访问它一样访问它:

<?= $this->foo ?>