Codeigniter用复选框更新数据库

时间:2016-02-04 11:42:54

标签: php codeigniter checkbox

我有一个名为group的表,其中包含admin,editor,user,guest等列,它们都是布尔值。
我想使用复选框创建一个组。所以在我看来,我得到了像管理员,编辑器,用户,访客和创建按钮的复选框。当我单击创建按钮时,我希望选中的选项在数据库中为true,并且未选中仍为false。我怎么能这样做?

我是codeigniter的新手。

<html>
<head>
    <title>Create A group</title>
</head>
<body>
    <?php echo form_open('group/create_group'); ?>
    <div>
        <?php echo form_label("Gruop Name"); ?> 
        <?php 
        $data=array(
        'name'=>'group_name',
        'placeholder'=>'enter group name'
        );
     ?>
         <?php echo form_input($data); ?>
    </div>
    <div>
        <?php $data=array(
        'name'=>'role[]',
        'value'=>'1',
        'type'=>'checkbox'
        );
        ?>
        <?php echo form_label('Admin'); ?>
        <?php echo form_checkbox($data); ?>
    </div>
    <div>
        <?php $data=array(
        'name'=>'role[]',
        'value'=>'2'
        );
        ?>
        <?php echo form_label('User'); ?>
        <?php echo form_checkbox($data); ?>
    </div>
    <div>
        <?php $data=array(
        'name'=>'role[]',
        'value'=>'3'
        );
        ?>
        <?php echo form_label('Editor'); ?>
        <?php echo form_checkbox($data); ?>
    </div>
    <div>
        <?php $data=array(
        'name'=>'role[]',
        'value'=>'4'
        );
        ?>
        <?php echo form_label('Others'); ?>
        <?php echo form_checkbox($data); ?>
    </div>
    <div>
        <?php $data=array(
        'type'=>'submit',
        'value'=>'Create'
        ); ?>
        <?php echo form_submit($data); ?>
    </div>
    <?php echo form_close(); ?>
</body>

2 个答案:

答案 0 :(得分:2)

<强>第一

设置&#34; false&#34;作为所有这些字段的默认值。

<强>第二

如果您只能为每个用户设置一个角色,那么您应该使用radiobox而不是复选框

<强>第三

捕获帖子发送的参数。

假设您为group/create_group创建了data_submitted方法的路线

public function data_submitted() {
    $data = array(
    'role' => $this->input->post('role'),
    //more info that you get from the post..
    );
    Now load your model and save it...

}

答案 1 :(得分:0)

推迟[]并在您的php文件逻辑中,您可以执行:$this->input->post("role");并获取值。如果您想要多选复选框,您必须更改为唯一名称,并为每个选项设置值为true。

美好的一天!