在多个复选框内的codeigniter

时间:2015-12-29 10:14:27

标签: php codeigniter

我的PHP代码存在小问题。我必须向数据库插入多个值,但我不知道如何才能做到这一点。

我的观点:

<?php foreach($myKidsGroupID as $row): ?>
<label><input type="checkbox" name="user_my_group_msg" value="<?php echo $row->id; ?>" class="my_group_msg pull-right"><?php echo $row->firstname; ?> <?php echo $row->lastname; ?></label><br>
<?php endforeach; ?>

我的模型看起来像这样:

...

elseif($checked_my_group == 1) {

                    foreach ( ?? ) {
                    $new_mail = array(
                    'to_user'           =>  $this->input->post('user_my_group_msg'),
                    );

                    $this->db->insert('mailbox', $new_mail);
                }

            }
...rest code....

在我的视图中我将所有用户显示为复选框但是如果我选择两个人,我必须将两个查询插入数据库。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

简单的事情是 使用serialize函数不要使用foreach

serialize $this->input->post('user_my_group_msg')

答案 1 :(得分:0)

尝试一下,它会帮助您的View代码看起来像

<?php foreach($myKidsGroupID as $row): ?>
    <label><input type="checkbox" name="user_my_group_msg" value="<?php echo $row->id; ?>" class="my_group_msg pull-right"><?php echo $row->firstname; ?> <?php echo $row->lastname; ?></label><br>
    <?php endforeach; ?>

模型将按此更正

<?php  
elseif(sizeof($this->input->post('user_my_group_msg'))>=1) {

    foreach ( $this->input->post('user_my_group_msg') as $value ) {
        $new_mail = array(
        'to_user'           =>  $value,
        );
        $this->db->insert('mailbox', $new_mail);
    }

}
.....rest code
        ?>