• PHP CI框架数据传递渲染


      实例:

    //控制器
    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。

  • 相关阅读:
    POJ 3904 Sky Code (容斥原理)
    HDU 4334 Trouble (暴力)
    UVA 10325 The Lottery( 容斥原理)
    HDU 2841 Visible Trees 数论+容斥原理
    UVA11806-Cheerleaders(容斥原理+二进制)
    HDU1695 GCD (欧拉函数+容斥原理)
    HDU 5651 xiaoxin juju needs help (组合数)
    最大子矩阵和 51Nod 1051 模板题
    最大子段和 模板题 51Nod 1049
    51Nod 1006 最长公共子序列Lcs问题 模板题
  • 原文地址:https://www.cnblogs.com/lovele-/p/9699397.html
Copyright © 2020-2023  润新知