Zend framework 如何使用数据库中的值在一页上多次打印Zend表单

Zend framework 如何使用数据库中的值在一页上多次打印Zend表单,zend-framework,zend-form,Zend Framework,Zend Form,我想使用zend form基于数据库打印相同的表单 假设db上有3个人,同一张表格打印3次,预加载值来自db。我该怎么做 我有以下代码: 在我的类窗体函数getform中: $form = new Zend_Form(); $form->setAction("javascript:void(0)"); include "Form/myElements.php"; $personElements = new Elements(); // Create fu

我想使用zend form基于数据库打印相同的表单

假设db上有3个人,同一张表格打印3次,预加载值来自db。我该怎么做

我有以下代码:

在我的类窗体函数getform中:

$form = new Zend_Form();
    $form->setAction("javascript:void(0)");

    include "Form/myElements.php";
    $personElements = new Elements();

    // Create fullname Field
    $form->addElement($personElements->getMustHaveValueTextField("name", "name* :"));
    // Create school Field
    $form->addElement($personElements->getMustHaveValueTextField("school", "school* :"));
    // Create save and remove button
    $submit = $personElements->getSubmitNoDecorators("save");
    $remove = $personElements->getSubmitNoDecorators("remove");
    $form->addElements(array($submit, $remove));

    return $form;
控制器:

    $people = $db->people();
    $this->view->people = $people;

    include "Form/form.php";
    $form = new form();
    $this->view->form = $form->getform();
我的看法如下:

$i=1;
foreach($this->people as $person)
{
    // data to populate
    $data = array(
        "name" => $person['name'],
        "school" => $person['school']
        );
    $this->form->setName("formPerson".$i);
    $this->form->populate($data);
    echo $this->form;
    $i++;
    }
它只填充最后一个表单的值

那么,我实际上必须如何使用zend form来完成它呢?

您是否尝试过:

$form->reset();
在循环内部,每次渲染后