#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.)…