【问题标题】:Data not passing from Controller to View Code Igniter数据未从 Controller 传递到 View Codeigniter
【发布时间】:2013-07-15 22:11:01
【问题描述】:

我对 CodeIgniter 的奇怪行为感到困惑。我正在从 Model 中获取一些数据并将其返回给 Controller 并将该数据从 Controller 传递到 View。

控制器

function index()
    {
        $data['details'] = $this->Mymodel->Get_Details();
        $this->load->view('mypage',$data);
    }

型号

public function Get_Details() 
    {
        $query = "
                    SELECT 
                            *
                    FROM 
                            tablename
                 ";

        $result = $this->db->query($query)->result();
        return $result;
    }

查看

<?php 
 print_r($details); 
?>

问题是视图页面中没有显示任何内容。如果我在Controller 中给出print_r($data); 或在Model 中给出print_r($result);,则会显示结果。如果在 select 中,* 被替换为单个列名,则输出将从 Controller 传递到 View 并显示输出。
将数据从控制器传递到视图是否有任何限制?

更新:如果我使用print_r($details[0]);print_r($details[n]);,则会打印结果。如果使用print_r($details);,则页面只是空白。可能是什么问题?

【问题讨论】:

  • 您确定它在控制器中打印吗?如果是这样,请确保您的视图位于视图文件夹的根目录中
  • @AhmedD.Sherif:我很确定它会打印在控制器中。为什么它没有通过查看让我感到困惑。
  • 你的模型加载了吗?
  • @Catfish:是的!也检查过了。
  • 那你为什么不尝试在你的模型和控制器中做一个print_r 来看看数据是否达到那么远?

标签: php codeigniter codeigniter-2


【解决方案1】:

在模型中试试这个

public function Get_Details() 
{
    $query = "
                SELECT 
                        *
                FROM 
                        tablename
             ";

    $result = $this->db->query($query);
    return $result->result();
}

【讨论】:

  • 那段代码难道不等同于问题中已有的代码吗?
【解决方案2】:

你试过这个代码吗:

型号

    public function Get_Details() 
    {
        $query = "
                    SELECT 
                            *
                    FROM 
                            tablename
                 ";

        return $this->db->query($query);
    }

查看

<?php 
 print_r($details->result()); 
?>

【讨论】:

    【解决方案3】:

    result() 函数以对象数组的形式返回查询结果,失败时返回空数组。

    您需要在视图中循环遍历它以获得预期的结果。

    详情可以看这里:http://ellislab.com/codeigniter/user-guide/database/results.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多