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 :

Combobox liés qui affichent un tableau


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Combobox liés qui affichent un tableau
    Bonjour,

    Je souhaite afficher la liste des classes dans un combobox, ainsi que les épreuves de la classe correspondante dans un autre combobox et une fois cela fait, qu'un tableau apparaisse pour pouvoir saisir les notes des élèves.

    Pour l'instant, j'ai créé mes entités, la BDD, et j'arrive à afficher le cbo classe sur une page classe, le cbo epreuve sur une page epreuve mais pas les deux cbo sur la page saisie

    Voici mon code :
    Dans le controller :
    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
    18
    19
    20
    21
    22
    23
     
    	public function classeAction()
    	{
    	$em=$this->getDoctrine()->getEntityManager();
    		  $liste=$em->getRepository('AdminBulletinBundle:classe')->findAll();
            return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:classe.html.twig',array('laListe' => $liste));
    	}
     
    	public function epreuveAction()
    	{
            $em=$this->getDoctrine()->getEntityManager();
    $liste=$this->getDoctrine()->getEntityManager()->getRepository('AdminBulletinBundle:epreuve')->findAll();
            return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:epreuve.html.twig',array('laListe' => $liste));
    	}
     
            public function saisieAction()
            {
    		$em=$this->getDoctrine()->getEntityManager();
    		$liste=$this->getDoctrine()->getEntityManager()->getRepository('AdminBulletinBundle:classe')->findAll();
            return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:saisie.html.twig',array('laListe' => $liste));
    		$em=$this->getDoctrine()->getEntityManager();
            $liste2=$this->getDoctrine()->getEntityManager()->getRepository('AdminBulletinBundle:epreuve')->findAll();
            return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:saisie.html.twig',array('laListe2' => $liste2));
    Dans la page saisie.html.twig :
    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
    18
     
    <html>
    {% include 'AdminBulletinBundle:Default:base.html.twig' %}
     <body>
    		<label for="classe">Classe : </label>
    		<select name="classe" id="classe" >
    			{% for unEl in laListe %}
    			<option selected="selected" >{{unEl.nom_classe}}</option>
    			{% endfor %}
    		</select>
    		<label for="epreuve">Epreuve : </label>
    		<select name="epreuve" id="epreuve" >
    			{% for uneEp in laListe2 %}
    			<option selected="selected" >{{uneEp.intitule_ep}}</option>
    			{% endfor %}
    		</select>
    </body>
    </html>
    Dans la page epreuve.repository :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class epreuveRepository extends EntityRepository
    {
        public function listeEpreuve()
        {
            $query = $this->_em->createQuery("SELECT intitule_ep FROM AdminBulletinBundle:epreuve");
            $resultat = $query->getResult();
            return $resultat;
        }
    }
    Dans la page classe.repository :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class classeRepository extends EntityRepository
    {
        public function listeClasse()
        {
            $query = $this->_em->createQuery("SELECT nom_classe FROM AdminBulletinBundle:classe");
            $resultat = $query->getResult();
            return $resultat;
        }
    }
    J'obtiens cette erreur :
    Variable "liste2" does not exist in AdminBulletinBundleefault:saisie.html.twig at line 12


    Dans mon fichier base j'appelle le controller saisie qui affiche la page saisie.html.twig et donc je peux y afficher un combobox mais jamais les 2, si quelqu'un peut m'aider ce serait sympa

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut

  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
    bonsoir
    trop honte de repondre mais je vais le faire. tu as deux return dans ta saisieaction,

    transmet a la vue les deux objets en un seul return

    bon dev

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Je veux bien mais comment faire le 2 en 1 ?
    il me faut juste un exemple après je pourrais me débrouiller

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Points : 153
    Points
    153
    Par défaut
    stephan.78 je te comprends...
    mais il faut bien l'aider...
    Bon pour éviter que tu ne poses une autre question embarrassante je te montre..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:epreuve.html.twig',array('laListe' => $liste));
    Tu vois bien que le paramètre que tu envoie est un tableau associatif DONC pour la formule 2 en 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:epreuve.html.twig',array('laListe' => $liste,'laListe2'=>$liste2));

  6. #6
    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
    désolé je suis aux techdays

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    merci pour ta réponse raffleboss, j'avais bien essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    return        
     return $this->container->get('templating')->renderResponse('AdminBulletinBundle:Default:saisie.html.twig',array('laListe2' => $liste2), array('laListe' => $liste));
    mais j'obtenais une erreur

    Merci beaucoup en tout cas

Discussions similaires

  1. [MySQL] Tableau FPDF qui affiche seulement les entêtes
    Par notebleue dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/12/2011, 15h52
  2. [Débutant] Problème combobox qui affiche les valeurs(int) d'une table
    Par arngrimur dans le forum C#
    Réponses: 4
    Dernier message: 06/07/2011, 10h52
  3. Réponses: 1
    Dernier message: 28/08/2009, 02h45
  4. Fonction qui retourne un tableau
    Par _lara_ dans le forum ASP
    Réponses: 6
    Dernier message: 24/05/2004, 15h06
  5. AFFICHER UN TABLEAU DYNAMIQUE
    Par ghassenus dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2002, 14h19

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