簡體   English   中英

從codeigniter中的兩個不同模型中檢索數據並在一個視圖中顯示它

[英]Retrieving data from two different models in codeigniter and showing it in one view

我是CI的新手,我想知道如何從不同的模型中檢索數據但是相同的視圖。

我有2個模型,一個用於評估費用的細目,另一個是費用評估細目的總價。

    function result_getAssessment($studentid)
            {

                $sql=
                "
                select g.studentid, sb.subjectcode, s.price
                FROM grades g
                INNER JOIN subjectblocking sb ON g.blockcode=sb.blockcode
                INNER JOIN subjects s ON sb.subjectcode=s.subjectcode
                WHERE studentid='$studentid'
                ";

                $result = $this->db->query($sql);
                $result = $result->result();
                return $result; 

            }

function result_totalAssessment($studentid)
        {
            $sql=
            "
            SELECT sum(s.numofunit) total_units, sum(s.price) total_tuition FROM subjects s
            INNER JOIN subjectblocking sb ON s.subjectcode=sb.subjectcode
            INNER JOIN grades g ON sb.blockcode=g.blockcode
            WHERE g.studentid='$studentid'
            ";

            $result = $this->db->query($sql);
            $result = $result->result();
            return $result; 
        }

我的控制器:

 function getAssessment() 
{
   $this->load->view('header');
   $this->load->view('navbar');
   $this->load->view('sidebar');
   $this->load->view('footer');
   $studentid = $this->session->userdata('studentid');
   $data['studentid'] = $studentid;
   $data['query'] = $this->m_login->result_getAssessment($studentid);
   $this->load->view('v_assessment',$data);
   $this->gettotalAssessment();
}

  function gettotalAssessment() 
{
   $studentid = $this->session->userdata('studentid');
   $data['studentid'] = $studentid;
   $data['query'] = $this->m_login->result_totalAssessment($studentid);
   $this->load->view('v_assessment',$data);
}

我的觀點:

<?php foreach ($query as $row){ ?>

              <tr>
              <td> <?php echo $row->subjectcode;?> <br></td>
              <td> <?php echo $row->price;?><br></td>
              <td> <?php echo $row->total_tuition;?><br></td>
              </tr>
<?php } ?>  

請幫助我,如何從兩個模型中檢索數據並從一個視圖中顯示它。 提前致謝!

這在codeigniter文檔中似乎微不足道。 雖然我對codeigniter相對較新,但我的貢獻可能很方便。 這就是:確保加載兩個模型(比如在控制器類構造函數中)。 然后代碼中有這兩行導致問題

1. $data['query'] = $this->m_login->result_getAssessment($studentid); <<<found in getAssessment() method

2. $data['query'] = $this->m_login->result_totalAssessment($studentid); <<<found in  gettotalAssessment()  method

您必須為這些結果指定不同的數組鍵
因為你在某種程度上動態地構建數組。 請參閱: php manual另請注意,在指定現有索引時向數組添加alement時,該索引處的值將被新值覆蓋。 希望這會給你的解決方案搜索帶來更多的肉體。

其實你叫$this->gettotalAssessment(); getAssessment()加載視圖后,您需要在控制器中執行此操作

function getAssessment() 
{
   $this->load->view('header');
   $this->load->view('navbar');
   $this->load->view('sidebar');
   $this->load->view('footer');
   $studentid = $this->session->userdata('studentid');
   $data['studentid'] = $studentid;
   $data['query'] = $this->m_login->result_getAssessment($studentid);
   $data['totalAssessment'] = $this->m_login->result_totalAssessment($studentid);
   $this->load->view('v_assessment',$data);

}

在您的視圖中,您可以訪問總評估

$totalAssessment

暫無
暫無

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

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