Как передать значения флажка multipal из представления в контроллер (используя работу фрейма code igniter)
Я попытался изучить фреймворк CodeIgniter, используя учебник, предоставленный веб-сайтом.
но когда я попытался передать значения состояния флажка из представления в контроллер, он был отображен следующим образом ошибка msg.
Цитата:Была обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: недопустимый аргумент, предоставленный для foreach()
Имя файла: controllers/Todos.php
Номер Строки: 29
Когда я отслеживаю, что это происходит из-за инициализации цикла foreach. Тогда я эхом повторяю:
Эхо $completed_todos;
echo $completed_todos[0];
echo $completed_todos[1]; — нет значения;
и посмотрите, возвращает ли он значения. Но он должен возвращать только одно значение и, возможно, не в виде массива ( у меня есть более одного завершенного todos.)
Не могли бы вы помочь мне решить эту проблему? Это было бы большим подспорьем для меня.
Цитата:Вид :индекс
<!DOCTYPE html>
<html lang="en">
<голова>
<meta charset="utf-8">
в <название>в простой фреймворк Codeigniter приложение - Тодос - &ЛТ;/название&ГТ;
<link rel="таблица стилей"
href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<тело>
<div class="контейнер">
<?php echo form_open('todos/update_completed'); ?>
<h1>Todos</h1>
<div class="list-group">
<?php foreach ($todos as $todo) { ?>
<div class="list-group-item clearfix">
<?php
Эхо form_checkbox('завершено', $Тодо-&ГТ;ИД., $Тодо-&ГТ;завершен);
?>
<?php echo $todo->task; ?>
</div>
<?php } ?>
&л;тип кнопки="Отправить" класс="БТН БТН-первичный"и gt;Обновление&ЛТ; кнопка/&ГТ;
<?php echo form_close(); ?>
</div><!-- /.container -->
</body>
</html>
Цитата:Код контроллера Todos
&ЛТ;?PHP, если ( ! определенными('базового маршрута')) выход('прямой доступ к скрипту животных);
класс Todos расширяет CI_Controller {
публичная функция __конструкция() {
родитель::__конструкция();
// Загрузить модель, чтобы сделать ее доступной
// для *всех* действий контроллера
$this->load->model('Todo_model');
$это-&ГТ;нагрузка-&ГТ;помощник('форма');
}
индекс публичных функций()
{
// 1. Загрузите данные:
$all_todos = $это-&ГТ;Todo_model-&ГТ;get_all_entries();
// 2. Сделайте данные доступными для просмотра
$массив данных();
$данных['Тодос'] = $all_todos;
// 3. Визуализация вида:
$это-&ГТ;нагрузка-&ГТ;вид('Тодос/индекс', $данных);
}
общественные функции update_completed() {
$completed_todos = $this->input->post('завершено');
Эхо $completed_todos;
по каждому элементу ($completed_todos как $todo_id) {
эхо 'и задач с ID =' . $todo_id
. ' помечается как завершенный.<br>';
}
}
}
Большое вам спасибо за помощь.
Спасибо.
В хэшань
Что я уже пробовал:
Когда я отслеживаю, что это происходит из-за инициализации цикла foreach. Тогда я эхом повторяю:
Эхо $completed_todos;
echo $completed_todos[0];
echo $completed_todos[1]; — нет значения;
и посмотрите, возвращает ли он значения. Но он должен возвращать только одно значение и, возможно, не в виде массива ( у меня есть более одного завершенного todos.)
Не могли бы вы помочь мне решить эту проблему? Это было бы большим подспорьем для меня.