2012-05-21 3 views
4

Я пытаюсь отобразить результат моего db-запроса в моем контроллере, но я не знаю, как это сделать. не могли бы вы показать мне?Codeigniter: отображение результата запроса в контроллере

Контроллер

function get_name($id){ 

$this->load->model('mod_names'); 
$data['records']=$this->mod_names->profile($id); 

// I want to display the the query result here 
// like this: echo $row ['full_name']; 

} 

My Model

function profile($id) 
    { 

     $this->db->select('*'); 
     $this->db->from('names'); 
     $this->db->where('id', $id); 
     $query = $this->db->get(); 


     if ($query->num_rows() > 0) 
     { return $query->row_array(); 
     } 
     else {return NULL;} 

    } 

ответ

6
echo '<pre>'; 
print_r($data['records']); 

или

echo $data['records'][0]['fullname']; 
+1

Спасибо за ваш ответ. Я пробовал 'echo $ data ['records'] [0] ['fullname'];' Но я получаю это сообщение: Неопределенное смещение: 0 Спасибо :) –

+1

ok измените его так, как он будет работать отлично echo $ data [' записи '] [' FullName ']; –

+1

Спасибо за его работу :) –

3

Вы что внутри View, как это.

Контроллер:

function get_name($id){ 

    $this->load->model('mod_names'); 
    $data['records']=$this->mod_names->profile($id); 
    $this->load->view('mod_names_view', $data); // load the view with the $data variable 

} 

View (mod_names_view):

<?php foreach($records->result() as $record): ?> 
    <?php echo $record->full_name); ?> 
<?php endforeach; ?> 

Я хотел бы изменить свою модель, то к чему-то вроде этого (он работал для меня):

function profile($id) 
{ 
    $this->db->select('*'); 
    $this->db->from('names'); 
    $this->db->where('id', $id); 
    $query = $this->db->get(); 

    if ($query->num_rows() > 0) 
    { 
    return $query; // just return $query 
    } 
} 
+0

Да, я знаю, как сделать это в файле вида. Но мне нужно получить результат запроса в моем контроллере. Спасибо :) –

+0

Я отредактировал свой ответ :) – ionize

4

Модель:

function profile($id){ 
    return $this->db-> 
    select('*')-> 
    from('names')-> 
    where('id', $id)-> 
    get()->row_array(); 
} 

Контроллер:

function get_name($id){ 

    $this->load->model('mod_names'); 
    $data['records']=$this->mod_names->profile($id); 

    print_r($data['records']); //All 
    echo $data['records']['full_name']; // Field name full_name 

} 
Смежные вопросы