2011-12-23 37 views
1

我有查詢在哪裏獲取約5行的內容,每個內容都有不同的內容,但我現在不要單獨在我的視圖中顯示它們。在codeigniter中顯示多行

當我通過從我的模型回我的控制器作爲$query所述的query->result(),然後加載與$query數據的圖,不知如何回聲出例如第1行

的內容領域我只知道如何做到這一點:foreach($query as $row) { echo $row->content; }

但是,這並不讓我選擇哪一行的內容數據(從檢索到的5)我想echo出來。

有人能解釋一下這是怎麼完成的嗎?

回答

2

CodeIgniter文檔包含一個標題爲Generating Query Results的部分,其中有一些您正在尋找的示例。

下面是一個(顯然做作)例如:

模型:

class Model extends CI_Model 
{ 
    public function get_data() 
    { 
     return $this->db->query('...'); 
    } 
} 

控制器:

class Controller extends CI_Controller 
{ 
    public function index() 
    { 
     $data['query_result'] = $this->model->get_data(); 
     $this->load->view('index', $data); 
    } 
} 

視圖:

<?php foreach ($query_result->result() as $row): ?> 
    <?php echo $row->field_1; ?> 
    <?php echo $row->field_2; ?> 
    <?php // and so on... ?> 
<?php endforeach; ?> 
+0

作爲@birderic的例子說,當你傳遞一個變量到一個視圖時,數組get的「頂部」被切下來說話。所以總是把它放在一個數組中,例如:$ data ['post_data'] = $ this-> db-> get(''); – BennyC 2011-12-23 17:04:19

0
function a(){ 
    $this->db->select('*'); 
    $this->db->from('table'); 
    $this->db->where(array('batch_id'=>$batchid,'class_id'=>$classid)); 
    $this->db->where(array('batch_id'=>$batchid,'class_id'=>$classid)); 
    $query=$this->db->get(); 
    for($i=1;$i<=$query->num_rows();++$i){ 
     $data[$i]['task'] = $query->row($i)->task; 
     $data[$i]['subject_id'] = $query->row($i)->subject_id; 
     $data[$i]['postdate'] = $query->row($i)->postdate; 
     $data[$i]['cdate'] = $query->row($i)->cdate; 
    } 
}