В настоящее время я делаю проект. У меня есть флажок (где пользователь будет выбирать тип услуг, предоставляемых компанией). Когда я пытаюсь опубликовать выбранную службу (например, 2 службы отмечены) в моем контроллере, я получаю только одну услугу. Вопрос в том, как я могу получить несколько значений в моем флажке?Получить несколько значений checkbox в codeigniter
Примечание: Я также попытался использовать 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>";
}
Там есть пара вариантов here.http: //stackoverflow.com/questions/10655355/getting-a-checkbox- array-value-from-post – ourmandave
не использовать foreach на контроллере. Отправьте массив данных в представление, а затем запустите службы. –