1

我创建了一个表单类,用于编辑删除并将用户添加到数据库。如果我想编辑一个用户,我怎么能简单地将用户的信息提供给表单。

我使用 Zend_Db_Table 从数据库中获取数据。

这是用户窗体类:

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 是一个包含表行数据的数组,其中字段名称必须与表单中的名称匹配。Zend 将完成剩下的工作。

于 2008-12-01T17:36:58.593 回答
0

扩展 Db_Table 上的 'fetchXXX' 或 'find' 方法之一将返回一个 Rowset,在其上调用 current() 将为您提供一个 Row,该方法有一个 toArray 方法,可为您提供 tharkun 响应所要求的格式。

于 2008-12-01T18:50:22.080 回答