Ниже моя модель, она работает корректно. Прямо сейчас он возвращает false, потому что нет записей для нового студента. Однако в моем контроллере у меня есть оператор If, который проверяет, возвращен ли запрос true, а затем перебирает каждую строку в запросе:
Моя модель:
function get_schedule($Student_ID)
{
$query = $this -> db -> query("
getstuff");
if($query -> num_rows() > 0 )
{
$sections= $query->result();
return $sections;
}
else
{
return false;
}
}
Мой контроллер:
$Student_ID = $session_data['Student_ID'];
$query['section']= $this->grades_model->get_schedule($Student_ID);
$sections= array();
if ($query == TRUE)
{
foreach($query['section'] as $row)
{
do stuff:
}
}
Проблема в том, что это дает мне недопустимое предупреждение цикла foreach, потому что нет данных для цикла. Как я могу сделать так, чтобы он даже не пытался выполнить этот цикл, если запрос возвращает false. Я попытался добавить elseif($query == FALSE){}
, но цикл foreach по-прежнему недействителен.
Что дает, и могу ли я просто подавить это предупреждение?
$query
в контроллере? - person Emil Vikström   schedule 30.08.2012$query
? - person Bhuvan Rikka   schedule 30.08.2012print_r
результат под<pre>
тегами, чтобы увидеть, что возвращает ваш запрос.. - person mithilatw   schedule 30.08.2012$query['section']
приятель..замените его на$query['sections']
..А также измените условиеif
- person Bhuvan Rikka   schedule 30.08.2012