C'est ma première tentative de coder en CodeIgniter. Le problème est qu'il n'est pas capable de récupérer les données de la base de données. L'erreur qu'il lance est la suivante :
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Site::$db
Filename: core/Model.php
Line Number: 51
Je pourrais comprendre ce qu'il faut changer dans cette ligne de core/model.php
.
Et c'est une autre erreur :
Fatal error: Call to a member function query() on a non-object in C:\wamp\www\CI_one\application\models\site_model.php on line 9
Contrôleur
<?php
class Site extends CI_Controller {
function datta(){
$this->load->model('site_model');
$get = $this->site_model->getValues();
$data['get'] = $get;
$this->load->view('data3',$data);
}
}
Modèle
<?php
class site_model extends CI_Model{
function index(){
echo "default index";
}
function getValues(){
$query = $this->db->query("select * from nav_menu");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
echo $row->c1;
echo $row->m2;
echo $row->d3;
}
}
return array(
"name" => "nameless",
"form" => "formless",
"age" => "ageless");
}
}
J'ai défini les paramètres de la base de données dans app/config/database.php
.
Comment faire pour que ça marche ?
Je l'ai résolu moi-même. J'ai essuyé et recodé comme suit pour obtenir le résultat...
Contrôleur
<?php
class Site extends CI_Controller {
function datta(){
$this->load->database();
$this->load->model('site_model');
$get = $this->site_model->getValues();
$data['get'] = $get;
$this->load->view('data3',$data);
}
}
Modèle en tant que
<?php
class site_model extends CI_Model{
function index(){
echo "default index";
}
function getValues(){
$query = $this->db->query("select * from nav_menu");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
echo $row->c1;
echo $row->m2;
echo $row->d3;
}
}
return array(
"name" => "nameless",
"form" => "formless",
"age" => "ageless");
}
}