8768 sujets

Développement web côté serveur, CMS

je souhaite afficher des différent thème que j'ai dans la BDD :
mon controlleur :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');


	class NouvelleActiviteControlleur extends CI_Controller
	{ 
		function __construct(){
			parent::__construct();
			$this->load->helper('url');
			$this->load->model('users_model');
		}
		public function index(){   			
			// $this->load->view('toutesLesActivites');
			$result['data']=$this->NouvelleActivite_model->afficheTheme();
			$this->load->view('nouvelleActivite',$result);	
		}     
	}

mon model :
<?php
	class ToutesActivites_model extends CI_Model {
		function __construct(){
			parent::__construct();
			$this->load->database();
		}
 
		function afficheTheme()
		{
			$query=$this->db->query("select * from theme");
			return $query->result();
		}
	}
	 
?>

ma view :
<select name="select-profession" id="select-profession">
										<option value="" disabled> Seléctionner </option>
									<?php
										$i=1;
										foreach($data as $row)
										{		
											echo "<option value="" disabled>".$i."</option>";
											echo "<option value="">".$row->LibelleTheme."</option>";											
										  $i++;
										}
									?>										
				</select>

les erreur que je ne comprend pas alors que j'ai deja utiliser cette méthode pour afficher des données dans un tableau :
upload/1615984287-82236-capture.jpg
Modifié par LenaMora (03 Jun 2021 - 15:53)
Bonjour,
Si tu écris ça:
$result['data']=$this->NouvelleActivite_model->afficheTheme();

Il faut qu'au préalable tu aies appelé ce modèle, donc
$this->load->model('NouvelleActivite_model');

Appel qui ne figure pas dans ton code.
loicbcn a écrit :
Bonjour,
Si tu écris ça:
$result['data']=$this-&gt;NouvelleActivite_model-&gt;afficheTheme();

Il faut qu'au préalable tu aies appelé ce modèle, donc
$this-&gt;load-&gt;model('NouvelleActivite_model');

Appel qui ne figure pas dans ton code.


c'est vrai... merciii pour cette réponse
néanmoins j'ai toujours une erreur
upload/1615989711-82236-capture.jpg
j'ai rajouter ça ;
<?php
defined('BASEPATH') OR exit('No direct script access allowed');


	class NouvelleActiviteControlleur extends CI_Controller
	{ 
		function __construct(){
			parent::__construct();
			$this->load->helper('url');
			$this->load->database();
			$this->load->model('NouvelleActivite_model');
		}
		public function index(){   			
			// $this->load->view('toutesLesActivites');
			$result['data']=$this->NouvelleActivite_model->afficheTheme();
			$this->load->view('nouvelleActivite',$result);	
		}     
	}

Modifié par LenaMora (17 Mar 2021 - 15:02)
Bonjour
Le message d'erreur dit:
a écrit :
NouvelleActivite_model.php existe mais ne déclare pas la classe NouvelleActivite_model


Tu as bien un fichier nommé NouvelleActivite_model.php parmi tes modèles.
Il faudrait que ce fichier déclare la classe
class NouvelleActivite_model extends CI_Model {
et non pas
class ToutesActivites_model extends CI_Model {
comme cela semble être le cas.

Bref, il faut-être un peu attentif et essayer de comprendre les messages d'erreur.
Modifié par loicbcn (18 Mar 2021 - 10:28)
a écrit :
Bref, il faut-être un peu attentif et essayer de comprendre les messages d'erreur.

Justement @loicbcn j'ai comme l'impression qu'il a fait une série de copier-coller sans faire des modifications appropriées. Les erreurs décrites étaient pourtant claire donc en principe avec un peu de lecture le problème aurait pu être réglé sans problème.

Lorsqu'on crée un modèle, le nom du fichier doit être le même que le nom de la classe