2013-10-29 62 views
0

我正在写一个zend代码,我想创建多个复选框代码来选择数据,点击提交按钮查看数据库中的信息后,代码工作正常,但是当它到达数据库时字段不显示选择的框,而是在该字段中写入“数组”。这里是我的表单代码如下。高度赞赏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')); 

回答

0

你应该留意你的变量保存在数据库中的是什么。对于它你应该尝试var_dump($ var);

0

复选框组将始终返回一个数组......它是一组复选框。

如果要将这些数据存储在单个列中,则需要转换为其他格式。

做到这一点的最简单的方法是在阵列或对象转换为JSON字符串

为了编码的阵列,以JSON:

$json = json_encode($array); 

要JSON解码回的阵列:

$array = json_decode($json); 

你也可以使用zend wrapper Zend_Json:http://framework.zend.com/manual/1.12/en/zend.json.html来做到这一点。