0

私は zend でコードを書いています。複数のチェックボックス コードを作成してデータを選択したいのですが、送信ボタンをクリックしてデータベースの情報を表示した後、コードは正常に動作しますが、データベースに到達するとフィールドに選択したものが表示されません。代わりに、そのフィールドに「配列」と書き込みます。ここに私のフォームコードがあります..どんな提案でも大歓迎です

  $Organisation_type = new Zend_Form_Element_MultiCheckbox('Organisation_type', array(
        'multiOptions' => array(
                            '1' =>' Start-up',
                            '2' =>' Sole Proprietor',
                            '3' =>' Partnership',
                            '4' =>' Close Corporation',
                            '5' =>' Company Trust',
                            '6' =>' Compny Propriety Limited',
                            '7' =>' Co-operative',
                            '8' =>' Non Profit Organization',
        )
    ));
    $Organisation_type->setLabel('Organisation type'); 
    $Organisation_type->setValue(array('Start-up', 'Sole Proprietor', 'Partnership', 'Close Corporation', 'Company Trust', 'Compny Propriety Limited', 'Co-operative', 'Non Profit Organization'));

しばらくこれを試してみましたが、私が使用するすべての方法で同じ問題が発生します。私を助けるか、使用できるコードを提供してください.

4

1 に答える 1

0

multiselect の値と同様に、multicheckbox の値は配列になります (setValue 関数で配列を割り当てる方法に注意してください)。次のように、値をカンマ区切りの文字列に変換できます。

$value = implode(',', $Organisation_type->getValue());

または、次のように複数の値をループすることもできます。

foreach ($Organisation_type->getValue() as $k => $v) {
    // do something here
}
于 2013-11-06T16:13:43.097 に答える