codeigniter如何在函数中显示数据

时间:2013-07-31 03:35:13

标签: codeigniter get show

我的模特:

function get_data($id)
{   
    $this->db->select('id, Company, JobTitle');     
    $this->db->from('client_list');     
    $this->db->where('id', $id);
    $query = $this->db->get();              

    return $query->result();
}   

我想从get_data()获取数据,这是正确的方法吗?

public function show_data( $id )
{
    $data = $this->get_data($id);
    echo    '<tr>';     
    echo    '<td>'.$data['Company'].'</td>';                            
    echo    '<td>'.$data['JobTitle'].'</td>';
    echo    '<td>'.$data['id'].'</td>';
    echo    '<td></td>';        
    echo    '</tr>';                                        
}

3 个答案:

答案 0 :(得分:1)

使用row_array()函数以数组格式获取数据。

参考网址

http://ellislab.com/codeigniter/user-guide/database/results.html

答案 1 :(得分:0)

你可以使用foreach循环打印

foreach ($data->result() as $row)
{
    echo    '<tr>';     
    echo    '<td>'.$row['Company'].'</td>';                            
    echo    '<td>'.$row['JobTitle'].'</td>';
    echo    '<td>'.$row['id'].'</td>';
    echo    '<td></td>';        
    echo    '</tr>'; 
}

谢谢

答案 2 :(得分:0)

只是为了改善答案,我对所有控制器使用"general_model",有一些例外,我需要特殊查询,我只是创建所需的模型,因此“general_model”保持不变,我可以在任何项目中使用它。

e.g。

<强> general_model.php

function _getWhere($table = 'table', $select = 'id, name', $where = array()) {

    $this->db->select($select);
    $q = $this->db->get_where('`'.$table.'`', $where);

    return ($q->num_rows() > 0) ? $q->result() : FALSE;
}
.
.
.
//bunch of another functions 
控制器中的

我只是致电

$this->data['books'] = $this->general_model->_getWhere('book', '*', array('active' => '1'));
$this->render('book_list_view'); // $this->load->view('book_list_view', $this->data);

旁注:我正在扩展CI_Controller,因此我使用$this->data['books']代替$data['books']将数据传递到视图

查看

中的

//check if there are any data
if ($books === FALSE) {
    //some error that there are no books yet
} else {
    //load data to table or something
    foreach ($books as $book) {
        $book->id; // book id
    }
}