[CodeIgniter] Faire passer un tableau du controleur vers la vue.

Par yannou, il y a 10 ans


Bonsoir à tous,

Je me suis mis à CodeIgniter depuis quelques temps et pour m'entrainer je bosse sur un projet perso. Mais depuis une heure je coince avec un script qui fait des siennes.

En fait j'ai du mal à faire passer le résultat d'une requette(un tableau) du controller vers la vue.

Voici la portion de code concernée:

Le controleur

public function connexion() { // Chargement de la bibliothèque $this->load->library('form_validation'); if($this->form_validation->run()) { // Le formulaire est valide $this->load->view('connexion_reussi'); } else { $this->load->database('test'); // Le formulaire est invalide ou vide $this->db->select('titre')->from('news'); $query = $this->db->get(); $query = $this->db->get('news'); foreach ($query->result() as $row){ $query=$row->titre .'<br>'; } $this->load->view('formulaire',$query); } }

Dans la vue j'essaie d'afficher le résultat de la requette avec:

<p>le titre est <?php echo $titre; ?></p>

CodeIgniter me retourne l'erreur:

A PHP Error was encountered Severity: Notice Message: Undefined variable: titre Filename: views/formulaire.php Line Number: 24

Désolé mais je ne vois pas ce qui cloche. O_O

Merci pour votre aide. :-)

2 réponses

claudel Kros, il y a 8 ans

l'une des solutions qui se presente a toi, est d'envoyer juste la variable $query a la vue, et faire le foreach dans la vue, alors a ce moment tu pourrais avoir le contenu du titre dans ta vue.

Lartak, il y a 10 ans

Bonsoir.
c'est pourtant simple.
Si tu ne définies pas la variable $titre et que tu ne l'envoies pas à la vue, elle ne peut qu'être inconnue.
La seule variable que tu envoies à ta vue, c'est la variable $query.