IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Symfony PHP Discussion :

[Symfony 2] afficher des élements d'une table dans une vue [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Points : 21
    Points
    21
    Par défaut [Symfony 2] afficher des élements d'une table dans une vue
    Je souhaiterais afficher tous les utilisateurs présent dans ma base de données dans une vue twig

    alors pour ce faire , je recupère la liste des utilisateurs depuis mon controller et je le passe en paramètre dans mon controlleur , dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function voirAction()
    {
        $manageur = $this->getDoctrine()->getManager();
        $listesurfeur = $manageur->getRepository("tchativoireBundle:Surfeur")->findAll();
     
        // je recupère une entité maintenant qui existe
        $compteur = 0;
        foreach($listesurfeur as $Surfeur){
            $compteur += 1;
        }
     
        return $this->render("eventUtilisateurBundle:gauche:index.html.twig",array("compteur"=>$compteur,"liste"=>$listesurfeur,"surfeur"=>$Surfeur));
    }
    ensuite , je voudrais afficher cette liste dans une vue , mais là je bloque , pour parcourir la liste j'utilise la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {% for surfeur in liste %}
    		<tr> <td> {{ surfeur.id ~ " " surfeur.age ~ " a "}} </td> </tr>
    {% endfor %}
    mais j'ai une erreur " la variable surfeur n'existe pas "

    je précise ici que ma classe s'appelle Surfeur,

    pourriez vous m'aider à afficher la liste des surfeurs dans ma vue ?

    merci de votre attention

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 60
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Essaye ceci, cela devrait te permettre de comprendre pourquoi tu as ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public function voirAction()
    {
        $manageur = $this->getDoctrine()->getManager();
        $listesurfeur = $manageur->getRepository("tchativoireBundle:Surfeur")->findAll();
     
        // je recupère une entité maintenant qui existe
        $compteur = 0;
        foreach($listesurfeur as $Surfeur){
            $compteur += 1;
        }
        \Doctrine\Common\Debug\Util::dump($Surfeur); exit();
        return $this->render("eventUtilisateurBundle:gauche:index.html.twig",array("compteur"=>$compteur,"liste"=>$listesurfeur,"surfeur"=>$Surfeur));
    }
    Par ailleurs, la méthode findAll() retourne un tableau d'objet, plutôt que d'utiliser une boucle, tu peux alors largement simplifier ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function voirAction()
    {
        $manageur = $this->getDoctrine()->getManager();
        $listesurfeur = $manageur->getRepository("tchativoireBundle:Surfeur")->findAll();
     
        return $this->render("eventUtilisateurBundle:gauche:index.html.twig",array("compteur"=>count($listesurfeur),"liste"=>$listesurfeur,"surfeur"=>$Surfeur));
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut
    Bonjour,

    le problème est dans la variable surfeur transmis au template qui n existe pas.

    elle existe que dans la boucle foreach du controller.

    je te propose ceci pour le controller (repris du poste précédent)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function voirAction() { 
    $manageur = $this->getDoctrine()->getManager(); 
    $listesurfeur = $manageur->getRepository("tchativoireBundle:Surfeur")->findAll();   
     
    return $this->render("eventUtilisateurBundle:gauche:index.html.twig",array(
    "compteur"=>count($listesurfeur),
    "liste"=>$listesurfeur)); }
    pour le template, tu peux garder ce que tu as fait

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Points : 21
    Points
    21
    Par défaut Merci beaucoup à vous
    Merci de m'avoir aidé , sa passe finalement, grâce à vous j'ai pu corriger mes erreurs , et j'ai ensuite opté pour des templates php plutot que twig , car j'y suis un peu plus habitué ,Merci à tous deux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Charger une JComboBox ou une JList des données d'un champ d'une table dans une BDD.
    Par MasterMbg dans le forum Codes sources à télécharger
    Réponses: 2
    Dernier message: 27/09/2013, 12h16
  2. Réponses: 6
    Dernier message: 22/07/2013, 16h24
  3. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  4. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  5. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo