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


Lartak
Réponse acceptée

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.

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.