簡體   English   中英

如何從控制器發送數組到視圖以顯示它的codeigniter

[英]how to send an array from controller to view to show it codeigniter

我是codeigniter的新手我在模型中有一個簡單的查詢,如下所示:

    function showbook(){
            $number_test =10;
            $this->db->select('qid, question, q_type');
            $this->db->from('qbank');
            $this->db->where('q_type',2);
            $this->db->limit($number_test);
            $query = $this->db-> get();
            return ($query->result());

    }

所以在我的控制器中我想將查詢結果存儲到變量中並發送到查看並在其中使用它,這是我的控制器:

public function show(){

        $this->load->model('add_book_model');
         $data['stuff'] = $this->add_book_model->showbook();
        foreach ($data as $row)
{
    $question[] = $row->question;
    // echo $row->question;

}
$this->load->view('desktop/view_book',$question);

    }

最后,這是我想要回應結果的觀點的一部分。 我想知道在模型中處理數據是正確的,將它們保存在控制器中的變量中並將它們發送到視圖我的意思是它是代碼點燃時MVC的真正含義嗎? 如果是的話,我的錯誤是什么?

<?php
    print_r ($question[]);

    ?>

在模型中試試這個

function showbook(){
        $number_test =10;
        $this->db->select('qid, question, q_type');
        $this->db->from('qbank');
        $this->db->where('q_type',2);
        $this->db->limit($number_test);
        $query = $this->db-> get();
        return $query->result();
}

在控制器中

$this->load->model('add_book_model');
   $data['result'] = $this->add_book_model->showbook();
   $this->load->view('desktop/view_book',$data);
}

現在,您可以使用foreach循環訪問結果數組

foreach($result as $row){

    echo $row->qid;
    echo $row->question;
    echo $row->q_type;

    }

如果你在html中回應價值,試試這樣

<table>

<th>qid</th>
<th>question</th>
<th>question type</th>

foreach($result as $row){
<td><?php echo $row->qid; ?></td>
<td><?php echo $row->question; ?></td>
<td><?php echo $row->q-type; ?></td>

        }

</table> 

在模型中使用return result_array而不是result

function showbook(){
        $number_test =10;
        $this->db->select('qid, question, q_type');
        $this->db->from('qbank');
        $this->db->where('q_type',2);
        $this->db->limit($number_test);
        $query = $this->db-> get();
        return ($query->result_array());
}

在你的控制器中

   $this->load->model('add_book_model');
   $data['stuff'] = $this->add_book_model->showbook();
   $this->load->view('desktop/view_book',$data);
}

最后在視圖中:

<?php 
if(!empty($stuff)) {
    foreach ($stuff as $single_stuff) {
        print_r ( $single_stuff['question'] );
    }
}
?>

在控制器中嘗試這個

public function show(){

    $this->load->model('add_book_model');
    $data['stuff'] = $this->add_book_model->showbook();        
    $this->load->view('desktop/view_book',$data);
}

並在你看來

foreach($stuff as $value){
  echo $value->question;
}

暫無
暫無

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

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