CodeIgniter 中的 Foreach 循环

Foreach loop in CodeIgniter

我正在使用 CI 框架,我正在尝试创建一个 foreach 循环,以便显示我站点的所有产品。

这是我的控制器文件:

class AlleCadeausController extends CI_Controller {

public function index()
{
    $this->load->model('allecadeaus_model');
    $data['cadeaus'] = $this->allecadeaus_model->get_cadeaus();
    $this->load->view('allecadeaus');   
}

这是我的模型文件:

<?php 
class Allecadeaus_model extends CI_Model {
   public function __construct()
   {
       parent::__construct();
   }
    public function get_cadeaus()
    {
        $query = $this->db->query('SELECT * FROM products');     
        $result = $query->result_array();    
        return $result;
    }
}

这是我的观点:

<?php
foreach ($cadeaus as $cadeau)
{
    echo $cadeau->product_naam;
}
?>

错误是:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: cadeaus

Filename: views/allecadeaus.php

Line Number: 3

Backtrace:

File: /home/ubuntu/workspace/application/views/allecadeaus.php Line: 3 Function: _error_handler

File: /home/ubuntu/workspace/application/controllers/AlleCadeausController.php Line: 11 Function: view

File: /home/ubuntu/workspace/index.php Line: 315 Function: require_once

我的 table 名字是 products

您还没有在控制器中传递 $data 变量。请按照以下代码:

$this->load->view('allecadeaus', $data);

那么,你的控制器函数应该如下所示。

public function index()
{
    $this->load->model('allecadeaus_model');
    $data['cadeaus'] = $this->allecadeaus_model->get_cadeaus();
    $this->load->view('allecadeaus', $data);


}

干杯,大功告成。

public function index()
{
    $this->load->model('allecadeaus_model');
    $data['cadeaus'] = $this->allecadeaus_model->get_cadeaus();
    $this->load->view('allecadeaus',$data);


}

在你的控制器中试试这个

您还没有将数据传递给刚刚加载的视图。 要传递数据以查看你必须做

$this->load->view('allecadeaus',$data);

Here are good documentation for passing data from controller to view Contact ME

您应该按照以下代码将数据传递给视图:

public function index()
{
    $this->load->model('allecadeaus_model');
    $data['cadeaus'] = $this->allecadeaus_model->get_cadeaus();
    $this->load->view('allecadeaus, $data');
}

您必须通过视图传递 $data。

$this->load->view('allecadeaus',$data);

您需要在第二个参数中传递数据数组。 请使用这个:

$this->load->view('allecadeaus',$data);

如果您在 allecadeaus 中加载子视图,则不需要传递数据数组。您可以直接访问数据数组中的所有变量。