如何使用数据库中的数据添加多选项

时间:2011-08-26 09:51:23

标签: php mysql forms zend-framework

我想要创建的是带有选择字段的表单。选择中的项目 字段是类别,我想将它们从数据库放入addMultiOptions形式。

希望有人可以帮助我。

亲切的问候,

尼基

2 个答案:

答案 0 :(得分:2)

如果你使用Zend_Db_Table_Abstract和Zend Form,你可以这样做:

$result = $model->fetchAll()->toArray();
$options = array();

foreach ($result as $value) {
    $options[$value['id']] = $value['whatEver'];
}

$field = new Zend_Form_Element_Select();
$field->setMultiOptions($options);

或来自控制器:

$model = new My_Model_WhatEver();
$result = $model->fetchAll()->toArray();
$options = array();

foreach ($result as $value) {
    $options[$value['id']] = $value['whatEver'];
}

$form = new My_Form_WhatEver();
$element = $form->getElement('whatEver');
$element->setMultiOptions($result);

答案 1 :(得分:1)

您可以使用一种或多种Zend_Form_Element_Multi方法。如果您有一个

形式的数组
array(
  'id1' => 'value 1',
  'id2' => 'value 2',
);

您可以使用setMultiOptions方法添加所有这些内容。如果您需要在foreach循环中添加选项,则必须使用addMultiOption方法,该方法随时添加选项

foreach ($array as $id => $value) {
  $element->addMultiOption($id, $value);
}