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。函数

相关文章
相关标签/搜索