在YII中将复选框值保存到数据库

时间:2014-03-18 09:13:19

标签: yii

我是YII的新手。

我为联系人列表生成了一个crud表单。我还使用小部件为#34;管理联系人列表"生成了复选框。因此,此复选框代码是在admin.php页面中编写的。我想要做的就是在点击"管理联系人列表中的一些提交按钮时将这些检查值保存到数据库。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

您可以选择数据库中的支票簿字段类型为(tiny-int),并在表单中使用此代码

<div class="row"> <?php echo $form->labelEx($model,'Active'); ?> <?php echo $form->checkBox($model,'Active'); ?> <?php echo $form->error($model,'Active'); ?> </div>

答案 1 :(得分:0)

如果您想将其存储为数组,

This将非常有用。

答案 2 :(得分:0)

这里需要3件事1)一个复选框,使用CCheckBoxColumn选择ID,然后2)Ajax调用从中挑出数据。请查看CHtml:AjaxButton了解更多信息。 3)处理通过Ajax调用发送的POST值的控制器方法。

在您的Gridview小部件中:

<?php $gridWidget = $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'name-your-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        array(
            'class'=>'CCheckBoxColumn',
            'id' => 'example-check-boxes',
            'selectableRows'=>100 //Max Selectable number of rows           
            ),
..... ?>

稍后在管理员视图的AJAX通话中

'data'=> 'js:{theIds : ($.fn.yiiGridView.getChecked("name-your-grid","example-check-boxes").toString())}',