實例: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。函數