簡體   English   中英

使用codeigniter連接表並將數據提取到表中

[英]Join tables and fetch the data to a table using codeigniter

我有兩個名為verification_detailsverification_questions數據庫表。 verification_id在兩個表中很常見。 verification_details表中,有一個user_id場,在此基礎上user_id字段,一個或多個驗證信息插入到verification_details表以及基於verification_id插入一個或多個驗證問題verification_questions表。 我在模型中使用此代碼進行連接查詢

function get_records() {

    $this->db->select("a.criteria_question,a.criteria_answer,a.validation_statement");
        $this->db->from("verification_questions as a");
        $this->db->join('verification_details as b', 'a.verification_id = b.verification_id');
        $query = $this->db->get();
        return $query->result();    
}

我想要控制器代碼從兩個表中獲取所有數據並將其顯示在表中。

在模型中

function get_records() {

    $this->db->select("a.criteria_question,a.criteria_answer,a.validation_statement");
    $this->db->from("verification_questions as a");
    $this->db->join('verification_details as b', 'a.verification_id = b.verification_id');
    $query = $this->db->get();
    $result = $query->result_array();
    return $result;
}

在控制器中

$data['table'] = $this->Model_name->get_records();
$this->load->view('view_name',$data);

在視野中

<table>
    <tr>
        <th>Question</th>
        <th>Answer</th>
        <th>Validation</th>
    </tr>
    <?php
        foreach ( $table as $new_item )
        {
            ?>
            <tr>
                <td><?php echo $new_item['table field1']?></td>
                <td><?php echo $new_item['table field2']?></td>
                <td><?php echo $new_item['table field3']?></td>
            </tr>
        <?php
        }

    ?>
</table>

您可以在模型中創建結果數組並在控制器中使用它。

模型:

function get_records()
{
        $this->db->select("a.criteria_question,a.criteria_answer,a.validation_statement");
        $this->db->from("verification_questions as a");
        $this->db->join('verification_details as b', 'a.verification_id = b.verification_id');
        $query = $this->db->get();
        $select = array();
        foreach ($query->result() as $row) {
            $select[] = $row;
        }
        if (count($select) > 0)
            return $select;
        return NULL;
}

您可以在控制器中使用此函數來獲取結果數組。

控制器:

$data['result']=$this->modelname->get_records();
$this->load->view('your_view', $data);

最后,您必須將結果變量傳遞給視圖才能在表格中顯示。

視圖:

<table><tr><td>Question></td></tr>
    if(count($result)>0){
        foreach($result as $row){ ?>
            <tr><td><?= $row->criteria_question; ?></td></tr>
        <?php}
    } ?>
</table>

暫無
暫無

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

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