2014-03-05 130 views
-1

我得到3個表:事務,成員和mtrans。我想從事務中獲取所有行。我也想從成員和mtrans獲得行,其中member.id = mtrans.mid從3個表中顯示,一個使用連接,另一個不連接

問題是,我不知道如何發送我得到的數據。這是我的代碼:

控制器

function profile(){ 
    $data["info"] = $this->itransaction_model->getData1(); 
    $data["info"] = $this->itransaction_model->getData2(); 

    $data["page"] = "profile"; 

    $this->load->view("include/template.php", $data); 
} 

型號

function getData1(){ 
    $this->db->from("transaction"); 

    $query = $this->db->get(); 
    $data['info'] = $query->result_array(); 

    return $data; 
} 

function getData2(){ 
    $this->db->from("member as m"); 
    $this->db->join("mtrans as mt", "mt.mid = m.id"); 
    $this->db->where("m.id", $this->uri->segment(3)); 

    $query = $this->db->get(); 
    $data['info'] = $query->result_array(); 

    return $data; 
} 

所以,我在做對嗎?我如何顯示視圖?

至少發佈瞭如何使用print_r檢查收集的數據。

+0

在你看來,他們將被存儲爲變量$ info,但現在他們只會顯示getData2,因此您可能需要創建$ data ['info1']和$ data ['info2']並將單獨的數據存儲到兩個不同的變量中 – Chitowns24

回答

0

該解決方案僅用於幫助您使用的print_r打印在您的視圖中的數據的代碼。

在你的控制器中,你用你從getData2()得到的數據覆蓋你從函數getData1()得到的數據;

function profile(){ 
$data["info"] = $this->itransaction_model->getData1(); 
//data stored in $data["info"] 
$data["info"] = $this->itransaction_model->getData2(); 
//data stored in $data["info"] overwritten 
$data["page"] = "profile"; 
$this->load->view("include/template.php", $data); 
} 

我會建議您將它們保存在兩個不同的數組中的鍵..

$data["info1"] = $this->itransaction_model->getData1(); 
$data["info2"] = $this->itransaction_model->getData2(); 

然後在您的視圖中,可以使用

print_r($info1); 
print_r($info2); 
0

嘗試在你的模型getData1()

$this->db->select("t.*,m.*"); 
$this->db->from("mtrans as mt"); 
$this->db->join("member as m","mt.mid = m.id"); 
$this->db->join("transaction as t","mt.tid = t.id"); 
$this->db->where("m.id", $this->uri->segment(3)); 
$query = $this->db->get(); 
$res = $query->result_array(); 
print_r($res); 
相關問題