簡體   English   中英

從Codeigniter中的關系數據庫中獲取數據

[英]Fetching data from relational database in codeigniter

我有2張桌子。 table1和table2。 他們兩個都使用共同的groupid相互關聯,我可以使用以下代碼成功查詢第二張表:

$query = $this->db->query("SELECT * FROM `table2` WHERE `memberid`='$id'"); 
$data['relation'] = $query->result_array(); 

現在使用groupid結果我要查詢第一個表,即table1

我嘗試了以下方法,但沒有成功:

for($ii = 0 ; $ii < count($data['relation']) ; $ii++){
        $id = $data['relation'][$ii]['groupid'];
        $query1 = $this->db->query("SELECT * FROM `group` WHERE `id`='$id'");
}             

$data1['group'] = $query1->result_array();

$fine = array_merge($data, $data1);
print_r(count($fine)); // the count result is 1 ideally should be 2

上面的代碼僅返回table1的最后一行,但是我正在尋找所有結果。

當我在“ for”循環內運行以上代碼時,顯示為33:

    for($ii = 0 ; $ii < count($data['relation']) ; $ii++){
        $id = $data['relation'][$ii]['groupid'];
        $query1 = $this->db->query("SELECT * FROM `group` WHERE `id`='$id'");

$data1['group'] = $query1->result_array();

$fine = array_merge($data, $data1);
print_r(count($fine)); // the count result is 33 ideally should be 2
}             

我知道如何在核心php中實現此目標,但不太確定如何在CI中做到這一點。 我是CI的新手,我們將不勝感激。

謝謝,烏塔爾

$ok = array();
     for($ii = 0 ; $ii < count($data['relation']) ; $ii++){
            $id = $data['relation'][$ii]['groupid'];
            print_r ($id);
            echo "<br>";
            $query1 = $this->db->query("SELECT * FROM `group` WHERE `id`='$id'");
            $data1['group'][$ii]= $query1->result_array();

    }
        //print_r($data1['group']);
        $fine = array_merge($data, $data1);
        print_r($fine);

您需要在此for循環之外創建一個數組($ data1),並定義$ query-> result_array();。 在forloop內部,如上所示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM