如何在 Zend_Form 中使用 Zend_Db_Table 中的数据
我创建了一个表单类用于编辑删除并将用户添加到数据库。 如果我想编辑用户,如何简单地将用户的信息提供给表单。
我使用 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'
));
}
}
谢谢你,
Ivo Trompert
I have create a form class for editing deleting and add users to a database. If I want to edit a user how can I simply supply the information of the user to the form.
I use a Zend_Db_Table to get the data from the database.
This is the userForm class:
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'
));
}
}
Thank you,
Ivo Trompert
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是通过以下方式完成的:
其中 $data 是一个包含表行数据的数组,其中字段名称必须与表单中的字段名称相匹配。 Zend 将完成剩下的工作。
This is done with:
where $data is an array with your table-row-data where the field names have to match the ones from the form. Zend will do the rest.
扩展 Db_Table 上的“fetchXXX”或“find”方法之一将返回一个 Rowset,在其上调用 current() 将为您提供一个 Row,其中有一个 toArray 方法,该方法将为您提供 tharkun 响应所要求的格式。
one of the 'fetchXXX' or 'find' methods on your extended Db_Table will return a Rowset, calling current() on that will give you a Row, which has a toArray method that will give you the format tharkun's response is asking for.