0

Zendフォームを使用して、データベースに基づいて同じフォームを印刷したいと考えています。

db に 3 人がいるとします。db からのプリロード値を使用して、同じフォームが 3 回出力されます。どうやってやるの?

私は次のコードを持っています:

私のクラスフォーム関数 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 フォームを使用してそれを行うにはどうすればよいでしょうか。

4

1 に答える 1

0

やってみました :

$form->reset();

各レンダリングの後、ループ内

于 2013-08-12T08:55:08.270 に答える