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

PHP & Base de données Discussion :

Remplir une liste déroulante avec des données de la base de données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut Remplir une liste déroulante avec des données de la base de données
    salut tout le monde

    j'ai une dojox.grid.DataGrid et dans cette grid j'ai une liste deroulant 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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <table dojoType="dojox.grid.DataGrid"
                               store="store" 
                               jsid="grid" 
                               id="grid"
                               style="width: 64em; height: 30em;"
                               rowSelector="20px"
                               clientSort="true"                                                    
                         >
                            <thead>
                                <tr>
                                    <th field="id" 
                                         width="150px"
                                      >
                                        id
                                     </th>
                                    
                                     <th field="champs" 
    
                                         width="150px"
                                         cellType="dojox.grid.cells.Select" 
                                        <?php foreach($this->liste as $monObjet) :?>
                                          options = "<?php echo $critere->getChamps()?>"
                                         <?php endforeach;?> -->>ce code il met la liste deroulant
                                        non-editable et il  m'envoyer le message d'erreur suivant : (This.options is null)
                                          values="1,2,3,4"                                                                        
                                         
                                         editable="true"
                                      >
                                        Champs
                                     </th>
                                     <th field="champs2" 
                                         width="150px"
                                         editable="true"
                                         cellType="dojox.grid.cells.Select" 
                                         options="val1,val2..."
                                     >
                                        Champs2
                                     </th>
                                     <th field="champs3" 
                                         width="150px"
                                         editable="true"
                                     >
                                        Champs3
                                     </th>                                   
                                </tr>
                            </thead>
                        </table>
    merci d'avance pour votre aide
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Il n'y aurait pas un problème sur l'utilisation du foreach ? Tu boucles mais tu n'utilises pas la boucle...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php foreach($this->liste as $monObjet) :?>
       options = "<?php echo $critere->getChamps()?>"
    <?php endforeach;?>
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    bonjour Celira
    et merci de votre reponse

    mais j'ai pas compris votre message vous pouvez me donnner plus infos et avec des examples .

    merci de m'aider
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    J'ai pas non plus compris ton problème Mais en règle générale lorsqu'on utilise une boucle foreach, on utilise à l'intérieur les élements parcourus.
    Or toi, tu boucles sur $this->liste et tu utilises $criteres (qui tombe un peu du ciel) dans la boucle. D'où ma question : est-ce qu'il n'y aurait pas un cafouillage à ce niveau ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    Re-Salut

    Citation Envoyé par Celira Voir le message
    J'ai pas non plus compris ton problème Mais en règle générale lorsqu'on utilise une boucle foreach, on utilise à l'intérieur les élements parcourus.
    Or toi, tu boucles sur $this->liste et tu utilises $criteres (qui tombe un peu du ciel) dans la boucle. D'où ma question : est-ce qu'il n'y aurait pas un cafouillage à ce niveau ?
    oui oui
    j'ai fait un erreur dans l'ancien code ...je veux dire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php foreach($this->liste as $monObjet) :?>
       options = "<?php echo $monObjet->getChamps()?>"
    <?php endforeach;?>
    merci de m'aider
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    A priori tu ne dois avoir qu'une seule ligne options = qui contient toutes les options possibles, séparées par des virgules.
    Donc pour que ton code actuel fonctionne il faudrait 1) qu'il n'y ait qu'une ligne dans $this->liste et 2) que $monObjet->getChamps() renvoie une liste de chaines séparées par des virgules... (ce qui me parait fort peu probable)

    Peut-être que si tu expliquais un peu ce qu'il doit y avoir dans cette fameuse liste et ce que contient $this->liste et ce que renvoie getChamps...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    Re-Salut

    merci de votre reponse

    j'ai une dojox.grid.DataGrid et dans cette grid j'ai une liste deroulant 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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <table dojoType="dojox.grid.DataGrid"
                               store="store" 
                               jsid="grid" 
                               id="grid"
                               style="width: 64em; height: 30em;"
                               rowSelector="20px"
                               clientSort="true"                                                    
                         >
                            <thead>
                                <tr>
                                ......                                
                                     <th field="champs" 
                                         width="150px"
                                         cellType="dojox.grid.cells.Select" 
                                        <?php foreach($this->liste as $monObjet) :?>
                                          options = "<?php echo $critere->getChamps()?>"
                                         <?php endforeach;?> -->>ce code il met la liste deroulant
                                        non-editable et il  m'envoyer le message d'erreur suivant : (This.options is null)
                                          values="1,2,3,4"                                                                        
     
                                         editable="true"
                                      >
                                        Champs
                                     </th>
                                     ......
                                     .......                                   
                                </tr>
                            </thead>
                        </table>
    pour $this->liste == (Retourne un array avec la liste des instances des objets)
    un objet = (id , champs , nom , prenom,, ......).

    et moi je veux que cette liste deroulante contiendra des valeurs de champs -(champs c'est le nom d'une champ dans ma table )- de tout les objets qui se trouve dans ma table ou plutot dans ma liste ($this->liste )

    pour celle j'ai fait ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php foreach($this->liste as $monObjet) :?>
            options = "<?php echo $critere->getChamps()?>"
     <?php endforeach;?>
    vous voullez

    merci de m'aider
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    je pense qu'il faut que tu récupères d'abord tous les champs, que tu en fasses une chaine et ensuite que tu balance le tout dans options
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    cellType="dojox.grid.cells.Select" 
    <?php
    $options = array();
    foreach($this->liste as $monObjet) {
    	$options[] = $monObjet->getChamps();
    }
    ?>
    options = "<?php echo implode(',', $options);?>"
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    Bonjour Celira ,
    et merci bien



    maintenant ça marcha

    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
     
    <table dojoType="dojox.grid.DataGrid"
                               store="store" 
                               jsid="grid" 
                               id="grid"
                               style="width: 64em; height: 30em;"
                               rowSelector="20px"
                               clientSort="true"                                                    
                         >
                            <thead>
                                <tr>
                                ......                                
                                   <th field="champs" 
                                         formatter="formateur"
                                         width="150px" 
                                         cellType="dojox.grid.cells.Select" 
                                         <?php
                                            $options = array();
                                            foreach($this->liste as $monObjet) {
                                                $options[] = $monObjet->getchamps();
                                                $values[]  = $monObjet->getId();
                                            }
                                        ?>
                                        options = "<?php echo implode(',', $options);?>"                                    
                                        values="<?php echo implode(',', $values);?>"
                                        editable="true"
                                      >
                                        Champs
                                     </th>
                                     ......
                                     .......                                   
                                </tr>
                            </thead>
                        </table>
    Bon Dev
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

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

Discussions similaires

  1. [XL-2007] Remplir une liste déroulante avec des dates seulement
    Par apt dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 16/07/2012, 00h13
  2. Réponses: 2
    Dernier message: 06/11/2009, 15h14
  3. [AJAX] Remplir une liste déroulante avec la réponse du réquête d'Ajax
    Par duppp2000 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/12/2007, 16h28
  4. Comment remplir une liste déroulante avec une macro sans doublons
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/06/2007, 18h34
  5. [Oracle] Remplir une liste déroulante avec une table
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/12/2006, 15h26

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