PHP CI框架數據傳遞渲染

  實例:php

//控制器
class Index extends CI_Controller {
    //由於類名是特殊字,因此爲了運行正常添加構造函數
    function __construct(){
        parent::__construct();
        $this->load->model('Index_model'); //加載model模型類
    }
    
    function index(){
        $proInfo = $this->Index_model->getProInfo(); //獲取數據
        $data = array();
        foreach ($proInfo as $k=>$info){
            $data['product'][$k] = (array)($info);
        }
        print_r($data);
        $this->load->View('index/index',$data); //傳遞數據到view中
    }
}
//模型類
class Index_model extends CI_Model{
    function __construct(){
        parent::__construct();
        $this->load->database(); //加載數據庫配置
    }
    function getProInfo(){
        $res = $this->db->query("select * from product"); //執行SQL語句
        return $res->result();
    }
}
//頁面顯示
    <?php foreach($product as $k=>$info){ ?>
        <ul style="list-style-type:none;float:left;">
            <li><?php echo $info['product_name']; ?></li>
            <li><?php echo '庫存:'.$info['number']; ?></li>
            <li><?php echo '價格:'.$info['price']; ?></li>

        </ul>
    <?php }?>    

  注意數據庫

  由於在CI中,model返回的數據內部是stdClass Object類型的,多條object類型數據包括在數組中。傳遞時咱們要把它們所有轉換成數組類型或object類型。就如上面的控制器代碼中使用(array)$data 的樣式將數據data轉換成數組。數組

  在使用數組傳遞數據時咱們須要注意一點,在視圖中調用的數據變量名是數組中的KEY值。例如上邊的實例中,控制器中傳遞的是$data,而在視圖中使用的變量名就是$data的key值product。函數

相關文章
相關標籤/搜索