【问题标题】:Send on codeIgniter result_array to access in view发送 codeIgniter result_array 以在视图中访问
【发布时间】:2018-10-17 13:08:22
【问题描述】:

当我加载 codeIgniter 文件时,我使用 print_r 得到的结果不会发送到视图文件。请帮忙?

型号

class Tether extends CI_Model {
public $table='';
public $primary_key='';

    public function fetch_data(){
    $this->db->select('*');
    $this->db->from($this->table);
    $this->db->order_by($this->primary_key,'desc');
    return $this->db->get()->result_array();        
   }

控制器

    public function index(){    
    $task=new Tether;
    $task->table=$this->table;
    $query=$task->fetch_data();
    print_r($query);
    $this->load->view('layout_chart',$query);

print_r 结果是:

Array ( [0] => Array ( [trend_id] => 1 [month] => JANUARY [year] => 2015 [amount] => 10000 ) [1] => Array ( [trend_id] => 2 [月] => 2 月 [年] => 2015 [金额] => 15000 ) [2] => 数组 ([trend_id] => 3 [月] => 3 月 [年] => 2015 [金额] => 20000 )

【问题讨论】:

  • 你能在视图中显示代码吗?结果确实会传递给视图,您可能没有正确访问它们
  • 您得到的错误/输出是什么以及预期的输出是什么,请说明?

标签: php codeigniter


【解决方案1】:

控制器:

$query['result'] = $task->fetch_data();

在 layout_chart 视图中:

print_r($result);

【讨论】:

    【解决方案2】:

    @Niall 的回答是正确的。但是,了解将数据传递给视图的机制很重要。

    数据应作为数组传递给$this->load->view()。数组的键成为视图中的变量。换句话说,在下面的代码中,我们创建了一个包含两个键 k1k2 的数组,并发送到视图。

    $data = array('k1' => "Hello", 'k2' => "World!");
    $this->load->view('hi_view', $data);
    

    那么在hi_view.php中的两个数组键就变成了变量$k1$k2

    <?php
    echo $k1 . " " . $k2;  //outputs Hello World!
    

    希望在“答案”之外提供理解。

    【讨论】:

      【解决方案3】:

      我终于通过对控制器的以下修改来修复它

      $query['hi']=$task->fetch_data();
      
      $this->load->view('hi_view', $query);
      

      感谢小伙伴们的支持!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-27
        • 2013-05-06
        • 2011-02-07
        • 1970-01-01
        • 1970-01-01
        • 2018-12-21
        • 1970-01-01
        相关资源
        最近更新 更多