codeigniter ничего не покажет из моей таблицы продуктов

#php #database #codeigniter #echo

#php #База данных #codeigniter #echo

Вопрос:

кто-нибудь может взглянуть и помочь мне, пожалуйста.

Модель:

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Model_product extends CI_Model 
{
    public function getALL() 
    {
        $results = $this->db->get('producten');

        return $results->result_array();
    }
}
 

Контроллер:

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller 
{
    public function index()
    {
        $this->load->model('Model_product');

        $data['products'] = $this->Model_product->getALL();
        $this->load->view('header');
        $this->load->view('welcome_message', $data);
        $this->load->view('footer');
    }
}
 

Вид:

 <table class="table">
<thead>
    <th>Naam</th>
    <th>Beschrijving</th>
    <th>Prijs</th>
    <th>Vooraad</th>
    <th>Categorie</th>
</thead>
<tbody>
    <?php foreach ($products as $product) { ?>
        <tr>
            <td><?php echo $product['naam']; ?></td>
            <td><?php echo $product['beschrijving']; ?></td>
            <td><?php echo $product['prijs']; ?></td>
            <td><?php echo $product['producten_op_voorraad']; ?></td>
            <td><?php echo $product['categorie_naam']; ?></td>
        </tr>
    <?php } ?>
</tbody>
</table>
 

В правильной таблице «producten» есть 1 строка, в которую загружается база данных. Я просто не знаю, что делать. кто-нибудь может помочь мне решить эту проблему?

Ответ №1:

попробуйте так

Модель

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Model_product extends CI_Model 
{

    function __construct()
    {
         // Initialization of class
        parent::__construct();
    }
    public function getALL() 
    {
        $results = $this->db->get('producten');

        return $results->result_array();
    }
}
 

Контроллер

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller 
{

        function __construct()
        {
             // Initialization of class
            parent::__construct();
        $this->load->model('model_product');
        }
    public function index()
    {


        $data['products'] = $this->model_product->getALL();
        $this->load->view('header');
        $this->load->view('welcome_message', $data);
        $this->load->view('footer');
    }
}
 

и в autoload.php

 $autoload['libraries'] = array('database');
 

Ответ №2:

Afaik, вам нужно вызвать модель product_model.php , вызовите его в контроллере «product_model» и вызовите класс «Product_model» (с большой буквы P).

Кроме того, CI не подключается автоматически к базе данных, поэтому при загрузке вы должны указать его с помощью третьего параметра.

Итак:

 class Product_model extends CI_Model
 

И:

 $this->load->model('product_model', '', TRUE);
 

 $data['products'] = $this->product_model->getALL();
 

Ответ №3:

Пожалуйста, по крайней мере, найдите, в чем проблема. Тот факт, что вы разместили M C V, показывает, что вы не приложили никаких усилий. Задайте более конкретный вопрос.

Убедитесь, что выполняются правильные файлы и строки (например: echo ), Что данные загружены из базы данных ( var_dump/print_r/echo ) и т. Д. (В основном echo … действительно. отладка 101.)…