【问题标题】:Codeigniter updating database with checkboxCodeigniter 使用复选框更新数据库
【发布时间】:2016-02-04 11:42:54
【问题描述】:

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

我是 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>

【问题讨论】:

标签: php codeigniter checkbox


【解决方案1】:

第一

在所有这些字段中将“false”设置为默认值。

第二

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

第三

捕获post发送的参数。

假设您为 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...

}

【讨论】:

  • 谢谢...我明白了:)
【解决方案2】:

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

祝你有美好的一天!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2017-06-06
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    相关资源
    最近更新 更多