2014-03-05 94 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); 
相关问题