【问题标题】:Get multiple values of checkbox in codeigniter在codeigniter中获取复选框的多个值
【发布时间】:2017-06-25 12:52:19
【问题描述】:

我目前正在做一个项目。我有一个复选框(用户将在其中选择公司提供的服务类型)。当我尝试在我的控制器中发布选择的服务(例如检查了 2 个服务)时,我只获得了一项服务。问题是如何在我的复选框中获取多个值?

注意:我也尝试在我的控制器中使用 foreach,我收到一些错误,例如“为 foreach() 提供的参数无效”。

查看

<label>Desired Service</label> <br>
<?php foreach($services as $s):?>
<label><input type="checkbox" name="service_name[]" value="<?= $s->service_name?>"><?= $s->service_name?></label>
<br> 
<?php endforeach?>

控制器

$this->form_validation->set_error_delimiters('<div class="alert alert-danger" role="alert">', '</div>');
    $this->form_validation->set_rules('full_name', 'Fullname', 'required');
    $this->form_validation->set_rules('email', 'Email', 'required');
    $this->form_validation->set_rules('contact', 'Contact', 'required');
    $this->form_validation->set_rules('date', 'Date', 'required');
    $this->form_validation->set_rules('address', 'Address', 'required');
    $this->form_validation->set_rules('zip_code', 'Zip Code', 'numeric|required');
    $this->form_validation->set_rules('province', 'Province', 'required');
    $this->form_validation->set_rules('date', 'Date', 'required');
    $this->form_validation->set_rules('service_name', 'Service', 'required');
    if ($this->form_validation->run() == FALSE) {
        $this->index();
    } 
    else {
        $service_name = implode(', ', $_POST['service_name']);
        $event = array(
        'full_name' => $this->input->post('full_name'),
        'email' => $this->input->post('email'),
        'contact' => $this->input->post('contact'),
        'address' => $this->input->post('address'),
        'zip_code' => $this->input->post('zip_code'),
        'state_province' => $this->input->post('province'),
        'date' => $this->input->post('date'),
        'service' => $service_name

        );
        $this->EventModel->add_event($event);
        echo "<script>
        window.alert('Your Desired Date is being Proccessed!');
        location.href = '".site_url('/')."';
        </script>";
    }

【问题讨论】:

标签: php codeigniter checkbox


【解决方案1】:

试试:

$service_name = $this->input->post('service_name');

for($i=0;$i < count($service_name);$i++){
    echo $service_name[$i];
}

【讨论】:

    【解决方案2】:

    改变

    $service_name = $_POST['service_name'];
    foreach($service_name as $key =>$value)
    {
        echo $value;
    }
    die;
    

    $service_name = implode(',',$_POST['service_name']);
    echo $service_name;
    

    【讨论】:

    • @angel : 提供答案
    • @dhruv jadia 先生,是否可以将我的 $this->form_validation->set_rules 放入一个数组中?
    • @dhruvjadia 1up 为您服务。
    • @dhruvjadia 你能帮我解决这个问题吗? stackoverflow.com/questions/42136368/…
    【解决方案3】:

    希望能解决你的问题

    if (!empty($this->input->post('service_name'))) {
            foreach ($this->input->post('service_name') as $key => $val) {
                $data[] = array(
                'service_name' => $_POST['service_name'][$key]
            );
    }
    foreach ($data as $item) {    
           echo $item['service_name'];
    }
    

    【讨论】:

    • 先生,是否可以将我的 $this->form_validation->set_rules 变成一个数组?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多