1

ユーザーを削除してデータベースに追加するためのフォームクラスを作成しました。ユーザーを編集したい場合、ユーザーの情報をフォームに入力するにはどうすればよいですか。

Zend_Db_Table を使用して、データベースからデータを取得します。

これは userForm クラスです:

class UsersForm extends Zend_Form
{
    public function init ()
    {
        $username = new Zend_Form_Element_Text('username',array(
            'validatrors' => array(
                'alpha',
                array('stringLength',5,10)
                ),
            'filters'   => array(
                'StringToLower'
                ),
            'required'  => true,
            'label'     => 'Gebruikersnaam:'
            ));

        $password = new Zend_Form_Element_Password('password', array(
            'validators'=> array(
                'Alnum',
                array('StringLength', array(6,20))
                ),
            'filters'   => array('StringTrim'),
            'required'  => true,
            'label'     => 'Wachtwoord:'
            ));

        $actif = new Zend_Form_Element_Checkbox('actif', array(
            'label'     => 'actif'));

        $this->addElements(array($username,$password,$actif));

        $this->setDecorators(array(
            'FormElements',
            array('HtmlTag', array('tag' => 'dl', 'class' => 'zend_form')),
            array('Description',array('placement' => 'prepand')),
            'Form'
        ));
    }
}

ありがとうございました、

イヴォ・トロンパート

4

2 に答える 2

4

これは以下で行われます:

$form->populate($data);

$data は table-row-data の配列で、フィールド名はフォームのものと一致する必要があります。Zendが残りを行います。

于 2008-12-01T17:36:58.593 に答える
0

拡張Db_Tableの「fetchXXX」または「find」メソッドの1つが行セットを返し、current()を呼び出すと、行が得られます。この行には、tharkunの応答が要求する形式を提供するtoArrayメソッドがあります。

于 2008-12-01T18:50:22.080 に答える