表格多选项选择

时间:2011-03-27 12:21:33

标签: php zend-framework zend-form

这是我的一段代码,我需要从横幅位置函数返回多个属性(信息片段),在select或multioption框中查看请帮助

类Admin_Form_Banner扩展ZendX_Form_Designed {

public function init() {

$这 - > setEnctype(个体:: ENCTYPE_MULTIPART);         $这 - >使用setMethod(个体:: METHOD_POST);         $这 - >使用setMethod( '后');

    // Add an email element
    $this->addElement('text', 'banner_title', array(
        'label' => 'Banner Title',
        'required' => true,
        'filters' => array('StringTrim')
    ));

    $this->addElement('text', 'banner_type', array(
        'required' => true,
        'filters' => array('StringTrim')
    ));


    $this->addElement('checkbox', 'is_active', array(
        'label' => 'Is Active',
        'required' => true,
        'filters' => array('StringTrim')
    ));

    $banner_position = new Zend_Form_Element_Select('banner_position');
    $banner_position->setMultiOptions($this->getBannerPositions())->setLabel('Banner Position');

    $this->addElement($banner_position, 'banner_position');


$this->addElement('hidden', 'file_path', array(
        'required' => true
    ));


    $this->addElement('submit', 'submit', array(
        'ignore' => true,
        'label' => ''
    ));
}

public function getBannerPositions() {
    $db = Zend_Db_Table::getDefaultAdapter();

    $bannerPosition = $db->fetchPairs($db
                            ->select()
                            ->from('banner_position'), array('id', 'banner_position'));
    return $bannerPosition;
}

}

1 个答案:

答案 0 :(得分:0)

我通过使用zend_Db_expr解决问题并通过这种方式连接我可以在一个多选项选择框中显示横幅位置和宽度和高度。

$ bannerPosition = $ db-> fetchPairs($ db                                  - > select()的                                  - > from('banner_position',array(                                     'id'=> 'ID',                                     'display_name'=> new Zend_Db_Expr(“CONCAT('',banner_position,'(w:',width,'x h:',height,')')”)                                         )                                 )