2011-11-25 5 views
2

컨트롤러와 뷰가 있으며보기에 데이터를 전달하는 방법에 대한 매우 멍청한 질문이 있습니다.컨트롤러에서 데이터를 CI로 전달하는 방법

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; 
    } 
} 
?> 

답변

3

몇 가지.

1) 변수를 키 (배열을 사용하는 경우) 또는 속성 (객체를 사용하는 경우)으로 설정하여 뷰에 배열 또는 객체를 전달해야합니다. 당신이 등을 호출 할 필요가 있으므로 즉

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

2) result는 방법이 아닌 속성입니다.

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

3) 당신은 아닌 $query var에 당신은을 통해 반복되는 루프 내부의 $row 변수를 호출해야합니다. 내가 이것을 사용하려고 해요

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

: 뷰에서

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

:

컨트롤러에서 :

echo $row->title; 

그래서, 지금 당신은 코드를 이런 식으로 뭔가를해야한다 컨트롤러에서 데이터를 전달하는 기술이지만, PHP 오류'Undefined variable : query'가 나타납니다. 보기에서 해당 매개 변수에 어떻게 액세스합니까? –

+0

@Pat, 코드를 보지 않고도 말하기 어렵습니다. 그것은 아마 별도의 질문으로 물어볼 가치가 있습니다. –

+0

나는 실제로 어떻게 발견했다. 컨트롤러에서'$ this-> load-> view ("games", $ view_data);와 같은 호출을하면 변수'$ query'에 접근 할 수있었습니다. 이것은'$ view_data [ 'query']'. –

관련 문제