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 :

Modification des pages success


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut Modification des pages success
    bonjour, je suis encore débutante en symfony.

    les modules sont generés avec crud.
    j'ai un module : 'moduleMission' de la table mission
    et un module : 'modulePays' de la table pays
    la table mission contient la clé étrangère de la table pays.

    dans la page create, je veux afficher dans le combobox les noms des pays au lieu des id.

    quelqu'un peut m'aider ??

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 117
    Points : 123
    Points
    123
    Par défaut
    Dans ta table Pays, tu as mis quoi comme champ pour indiquer l'intitulé du pays ('France', 'Angleterre', ...), si tu as mis nom, ou pays, essaye de changer le nom de l'attribut, en "name"

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    il etait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <th>Pays:</th>
      <td><?php echo object_select_tag($mission, 'getPaysId', array (
      'related_class' => 'Pays',
      'include_blank' => true,
      'include_custom' => 'Selectionner pays',
    )) ?></td>
    j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <th>Pays:</th>
      <td><?php echo object_select_tag($mission, 'getnom_pays', array (
      'related_class' => 'Pays',
      'include_blank' => true,
      'include_custom' => 'Selectionner pays',
    )) ?></td>
    mais il me donne l'erreur suivante :

    Method "getnom_pays" doesn't exist for object of class "Mission"

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 117
    Points : 123
    Points
    123
    Par défaut
    Non e faites je te parle de ton nom dans ta table, tu as du creer un schema.yml du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ProjetPays :
      ...
      column :
        pays : {string : 255, notnull : true }
        ville : {string : 255 }
    ...
    Et donc la tu remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ProjetPays :
      ...
      column :
        name : {string : 255, notnull : true }
        ville : {string : 255 }
    J'espère être assez clair...

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    voila le fichier xml :

    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
    <database name="propel" defaultIdMethod="native" noxsd="true">
       <table name="mission" phpName="Mission">
         <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
         <column name="date_depart" type="date" />
    	 .....
    	 <column name="pays_id" type="integer" />
    	 <foreign-key foreignTable="pays">
           <reference local="pays_id" foreign="id"/>
         </foreign-key>	 
       </table>
    <table name="pays" phpName="Pays">
         <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
         <column name="nom_pays" type="varchar" size="20" />
       </table>
    </database>
    j'ai genere les modules avec crud

    lorsque je vx creer une mission, il m'affiche pays_id de la table mission et moi je veux qu'il m'affiche le nom_pays de la table pays.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 117
    Points : 123
    Points
    123
    Par défaut
    Et si tu essayais ca :

    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
    <database name="propel" defaultIdMethod="native" noxsd="true">
    <table name="mission" phpName="Mission">
    <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
    <column name="date_depart" type="date" />
    .....
    <column name="pays_id" type="integer" />
    <foreign-key foreignTable="pays">
    <reference local="pays_id" foreign="id"/>
    </foreign-key>
    </table>
    <table name="pays" phpName="Pays">
    <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
    <column name="name" type="varchar" size="20" />
    </table>
    </database>

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    ça change rien

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Points : 82
    Points
    82
    Par défaut
    Es-tu sure d'etre en symfony 1.2 car sinon pourquoi n'utilise tu pas les classes formulaires pour l'affichages ?

    Dans ce cas il te suffit de définir une méthode __toString dans ta classe Pays:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function __toString()
    {
      return $this->getNom();
    }
    Lorsque que tu afficheras le widget correspondant de ton formulaires les noms apparaitront comme par magie.

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    non j'utilise symfony 1.16

  10. #10
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    pardon 1.0.16

  11. #11
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    merci beaucoup ça marche

  12. #12
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    vous pouvez m'aider encore une fois

    voila mon scheme xml :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?xml version="1.0" encoding="UTF-8"?>
     <database name="propel" defaultIdMethod="native" noxsd="true">
       <table name="mission" phpName="Mission">
         <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
    ...
    <column name="pays_id" type="integer" />
    	 <foreign-key foreignTable="pays">
           <reference local="pays_id" foreign="id"/>
         </foreign-key>	 
       </table>
    <table name="utilisateur" phpName="Utilisateur">
         <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
         <column name="nom" type="varchar" size="20" />
    	 <column name="prenom" type="varchar" size="20" />
    	 ....
       </table>
    <table name="usr_mission" phpName="Usr_Mission">
         <column name="usr_id" type="integer" />	 
         <foreign-key foreignTable="utilisateur">
           <reference local="usr_id" foreign="id"/>
         </foreign-key>
    	 <column name="mission_id" type="integer" />	 
         <foreign-key foreignTable="mission">
           <reference local="mission_id" foreign="id"/>
         </foreign-key>
       </table>
    <table name="pays" phpName="Pays">
         <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
         <column name="nom_pays" type="varchar" size="20" />
    	 <column name="visa_necessaire" type="varchar" size="20" />
    	 <column name="organisme_id" type="integer" />	 
         <foreign-key foreignTable="organisme_accueil">
           <reference local="organisme_id" foreign="id"/>
         </foreign-key>
       </table>
    et je veux ajouter dans la page create du module mission une liste déroulante qui porte les noms des utilisateurs.

    comment faire stp

Discussions similaires

  1. [MySQL] Comment afficher des pages successive
    Par fediminyar dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/07/2011, 14h06
  2. Réponses: 5
    Dernier message: 03/07/2006, 17h19
  3. modification des pages à la volée
    Par bertil dans le forum Apache
    Réponses: 2
    Dernier message: 28/06/2006, 15h34

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