Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CodeIgniter PHP Discussion :

[3] Variable dans la vue


Sujet :

CodeIgniter PHP

  1. #1
    Candidat au Club
    [3] Variable dans la vue
    Bonjour, je m’intéresse depuis peu a codeigniter3.

    Je doit pour des raison professionnelle me formé pour le développement d'une application intranet.

    Ayant quelque notion en Php j'ai choisir le frameworks codeigniter pour développé mon application.

    En lisant le documentation officielle j'ai fait quelque test mais voila:

    J'ai créer un modèle avec une requête mysql toute simple que j’appelle dans mon contrôleur et que je transmet a ma vue. Le problème c'est que la variable que j’appelle dans ma vue est inconnue. Je pense que c'est certainement une nom compréhension de la documentation mais je m'en remet a vous pour l'explication.

    voici mon model :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
     
    class User extends CI_Model
    {
    	protected $table = 'test';
     
    		public function Info_bd()
    		{
    		$this->load->database();
    		return $this->db->select('*')
    			   ->from($this->table)
    			   ->where('id', 1)
    			   ->get()
    			   ->result();	   
    		}
    }


    mon controleur :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
     
    class Accueil extends CI_Controller 
    {
     
        public function index()  
        { 
        $this->load->model('user');
        $data = array();
        $data['testBD'] = $this->user->Info_bd();
        $this->load->view('themes/header');
        $this->load->view('Accueil',$data['testBD']);
        }
    }


    et ma vue toute simple
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $nom; ?>


    je vous remercie d'avance pour avoir prit le temps de me lire.

    Cordialement

  2. #2
    Membre éprouvé
    Salut,

    ici il faut passer simplement $data, la vue contiendra les clés de data comme variable de vue... Par exemple $testBD contiendra le résultat de Info_bd()
    Le bienfait n'est jamais perdu

  3. #3
    Candidat au Club
    Merci pour votre réponse.

    Si j'ai bien compris la syntaxe ma requête doit me retourner toute les valeur de la table ou id = 1 et donc sous forme de tableau. J'ai déjà essayé de ne laisser que data dans le l’appelle de la vue mais sans aucun changement. Les variables sont toute inconnu dans la vue...

  4. #4
    Membre éprouvé
    Avec un id unique cette requête doit vous renvoyer un tableau d'un objet, donc si vous passez que $data et non $data['testBD'] , utilisez foreach dans la vue.
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php foreach ($testBD as $row): ?>
      <?php echo html_escape($row->nom_colonne) ?>
    <?php endforeach; ?>

    nom_colonne à remplacer par le nom d'une colonne dans votre table.
    Le bienfait n'est jamais perdu