как передать данные из контроллера для просмотра в CI - PullRequest
2 голосов
/ 26 ноября 2011

У меня есть контроллер и просмотр, и у меня возник вопрос, как передать данные для просмотра.

    if (is_int($page)){
        $this->load->model("Gamesmodel");
        $query = $this->Gamesmodel->games("all",$page);
        $this->load->view("games", $query);
    }

и просмотр

<?php
if ($query->num_rows() > 0)
 {
    foreach ($query->result as $row)
    {
       echo $query->result->title;
    }
 }
?>

1 Ответ

3 голосов
/ 26 ноября 2011

Несколько вещей.

1) Вам необходимо передать массив или объект в представление с переменными, установленными в качестве ключей (при использовании массива) или атрибутов (при использовании объекта).то есть

$view_data['query'] = $this->Gamesmodel->games("all",$page);
$this->load->view("games", $view_data);

2) result - это метод, а не атрибут, поэтому его нужно вызывать как таковой.

foreach ($query->result() as $row)

3) Вам необходимо вызвать $row переменная внутри вашего цикла, а не $query переменная, через которую вы зацикливаетесь.

echo $row->title;

Итак, теперь у вас должен быть такой код:

в контроллере:

if (is_int($page))
{
    $this->load->model("Gamesmodel");

    $view_data['query'] = $this->Gamesmodel->games("all",$page);
    $this->load->view("games", $view_data);
}

в представлении:

<?php
if ($query->num_rows() > 0)
{
    foreach ($query->result() as $row)
    {
        echo $row->title;
    }
}
?>
...