2013-07-30 70 views
0

你好stackoverflow人:) 我想從數據,比方說,2表。我不希望任何具體的「位置」選項,所以這是我的模型代碼:Codeigniter - >來自(多個表)

$this->db->from('table1, table2');  
$this->db->order_by('table1.date, table2.date', "desc"); 
$query = $this->db->get('', $num, $offset); 

return $query->result_array(); 

這樣,我從「表2」,其中只包含1條,本文頁面上呼應了幾次僅供參考。這兩張表具有相同的結構,我希望通過這種方式寫'order_by'會有所幫助,但不會。如果我做任何其他操作,我只能從一個表中獲取信息。按日期排序非常重要。 希望任何人都會發現這個問題有趣,並會幫助。提前致謝!

編輯部分: 功能:

$this->db->get("table1"); 

$comm_numbers = $this->db->count_all_results("table1"); 

$config['base_url'] = base_url(); 
$config['total_rows'] = $comm_numbers; 
$config['per_page'] = '5'; 
$config['uri_segment'] = 1; 
$this->pagination->initialize($config); 

$this->load->model("model_get_all"); 
$data["results"] = $this->model_get_all->getData1($config['per_page'], $this->uri->segment(1)); 
$this->load->helper('url'); 
+0

告訴我們Table 1和Table –

+1

的列我想你可能需要使用[UNION(http://dev.mysql.com/doc/refman/5.1/en/union.html)代替如果兩個表 –

+0

ID,標題,文本,視圖,日期,圖像的表結構相同,則表示連接。我已經與這些表合作過了,如果我與每個表分開工作,我會從中檢索信息。 –

回答

1

試試這個:

$this->db->query('SELECT id, title, text, views, date, image FROM table1 UNION SELECT id, title, text, views, date, image FROM tablee2'); 

更新: 查詢使用CodeIgniter分頁:

$this->db->query("SELECT id, title, text, views, date, image FROM table1 UNION SELECT id, title, text, views, date, image FROM tablee2 LIMIT $offset, $num"); 

更新2:好吧,我只更改$offsetnull的地方。

$this->db->get("table1"); 

$comm_numbers = $this->db->count_all_results("table1"); 

$config['base_url'] = base_url(); 
$config['total_rows'] = $comm_numbers; 
$config['per_page'] = '5'; 
$config['uri_segment'] = 1; 
$this->pagination->initialize($config); 

$page = ($this->uri->segment(1)) ? $this->uri->segment(1) : 0; 

$this->load->model("model_get_all"); 
$data["results"] = $this->model_get_all->getData1($config['per_page'], $page); 
$this->load->helper('url'); 
+1

是的,那終於有效了!謝謝Erman,還有Koala_Dev。偉大的方法。 –

+0

但是有什麼辦法可以節省$ num和$ offset的分頁方式嗎? –

+0

是的。我會更新現在的答案,我會添加'$ num'和'$ offset' –