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

Langage PHP Discussion :

[php] Probleme Liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut [php] Probleme Liste déroulante
    Bonjour voici ma liste dé roulante ...je voudrai que dans ma liste déroulante par raport a une donnée récupéré "$initiales " elle safiche dan ma liste déroulante par défaut...
    je doit avoir un soucis ...je ne voi pa lequel

    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
     
    <select name="correspondant">
    <?php
    //remplissage de la liste déroulante a l'aide de la base de donnée en concaténant les champs afin qu'ils soit sur une meme ligne
    $sql= "select initiales, nom , prenom , num from correspondant order by initiales";
    $res = mysql_query($sql);
     
    $i = "select initiales from renseignements num = '$id'";
    $initiales = mysql_query($i);
    while($val=mysql_fetch_array($res)) 
    { 
    if ($val["initiales"]== $initiales){
    echo "<option value=\"".$val["initiales"]."\"selected='selected'> ".$val["initiales"]." , ".($val["nom"])." , ".($val["prenom"])." , ".($val["num"])."</option>";
    } else {
    echo "<option value=\"".$val["initiales"]."\"> ".$val["initiales"]." , ".($val["nom"])." , ".($val["prenom"])." , ".($val["num"])."</option>";
    } }
    ?>
    </select>

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut


    Dis-donc tu en as une belle requête manque pas un bout non ?

    Et tu t'en sers n'importe comment après (pas de mysql_fetch_array ou trucs dans le genre)... Tu le fais pour la première requête alors pourquoi tu refais pas le même principe pour la seconde


  3. #3
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Quel est le problème?? La variable s'affiche dans la liste mais pas au bon endroit?Elle s'affiche pas?La liste ne s'affiche pas?....

  4. #4
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    commence par revoir un peu la syntaxe. PHP a beau être flexible, il y a quand même des règles.

    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
     <select name="correspondant">
    <?php
    //remplissage de la liste déroulante a l'aide de la base de donnée en concaténant les champs afin qu'ils soit sur une meme ligne
    $sql= 'SELECT initiales, nom , prenom , num FROM correspondant ORDER BY initiales ASC';
    $res = mysql_query($sql);
     
    $i = 'SELECT initiales FROM renseignements WHERE num = \''.$id.'\'';
    // (ici, à la limite  $i = "SELECT initiales FROM renseignements WHERE num = '.$id.'"; )
    $res2 = mysql_query($i);
    $val2 = $mysql_fetch_array($res2);
    $initiales = $val2['initiales'];
    while($val=mysql_fetch_array($res)) 
    { 
        if ($val['initiales']== $initiales)
        {
             echo '<option value="'.$val['initiales'].'" selected="selected">'.$val['initiales'].' , '.($val['nom']).' , '.($val['prenom']).', '.($val['num']).'</option>';
        } 
        else 
        {
            echo '<option value="'.$val['initiales'].'"> '.$val['initiales'].', '.($val['nom']).' , '.($val['prenom']).' , '.($val['num']).'</option>';
        } 
    }
    ?>
    </select>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    la liste saffiche , mais la variable ne safiche pas

  6. #6
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    es-tu sûr que les champs "initiales" ne sont pas vides dans ta base?

  7. #7
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    $i = "select initiales from renseignements num = '$id'";
    Tu fais une recherche en fonction de la variable $id mais celle-ci n'est affectée nulle part!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    Si si elle est affecté plus haut dans ma page lol
    et heu ta solucion le cowboy, ca ne me met meme pas la liste déroulante !

  9. #9
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    heu ta solucion le cowboy
    quelle solution de cowboy ?

  10. #10
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    marie4449
    dans ton code y manque pas grand chose la
    c'est au niveau de $initiale tu le fait égal à ton mysql_query()

    ce devrais etre $result = mysql_query()
    ensuite $initiale = mysql_fetch_array($result)
    et la tu vas pouvoir faire ta comparaisons dans ton while

  11. #11
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Essaie avec ce code là:
    <select name="correspondant">
    <?php
    //remplissage de la liste déroulante a l'aide de la base de donnée en concaténant les champs afin qu'ils soit sur une meme ligne
    $sql= "select initiales, nom , prenom , num from correspondant order by initiales";
    $query = mysql_query($sql);
    $numrow = mysql_num_rows($query);

    $sql2= "select initiales from renseignements num = '".$id."'";
    $query2 = mysql_query($sql2);
    $initiales2 = mysql_result($query2,0,'initiales');

    for(
    $i=0;$i<$numrow;$i++){
    $initiales = mysql_result($query,$i,'initiales');
    $nom = mysql_result($query,$i,'nom');
    $prenom = mysql_result($query,$i,'prenom');
    $num = mysql_result($query,$i,'num');

    if (
    $initiales == $initiales2 ){
    echo
    "<option value=\"".$initiales."\"selected='selected'> ".$initiales." , ".$nom." , ".$prenom." , ".$num."</option>";
    } else {
    echo
    "<option value=\"".$initiales."\"> ".$initiales." , ".$nom." , ".$prenom." , ".$num."</option>";
    }
    }
    ?>
    </select>
    Colorez votre code PHP sur les forums grâce à Developpez.com

  12. #12
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par wamania
    quelle solution de cowboy ?

    C'est toi le cowboy? héhéhéhé

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    yep ce que tu mas donné ne met pas automatiquement la variable stockées dans ma liste déroulante...

  14. #14
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Ca met quoi? Affiche ton code en entier pour voir où ça ne fonctionne pas.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    bah mon code c celui ke vient de me donner je ne sais plus comment
    enfaite le truc c'est que je prend le résultat et je le met dans ma base de donnée donc le probleme doit venir encore de ce code la , car il ne maffiche pas par défaut le contenu de ma variable !
    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
     
    <select name="correspondant">
    <?php
    //remplissage de la liste déroulante a l'aide de la base de donnée en concaténant les champs afin qu'ils soit sur une meme ligne
    $sql= "select initiales, nom , prenom , num from correspondant order by initiales";
    $query = mysql_query($sql);
    $numrow = mysql_num_rows($query);
     
    $sql2= "select initiales from renseignements num = '".$id."'";
    $query2 = mysql_query($sql2);
    $initiales2 = mysql_result($query2,0,'initiales');
     
    for($i=0;$i<$numrow;$i++){
    $initiales = mysql_result($query,$i,'initiales');
    $nom = mysql_result($query,$i,'nom');
    $prenom = mysql_result($query,$i,'prenom');
    $num = mysql_result($query,$i,'num');
     
    if ($initiales == $initiales2 ){
    echo "<option value=\"".$initiales."\"selected='selected'> ".$initiales." , ".$nom." , ".$prenom." , ".$num."</option>";
    } else {
    echo "<option value=\"".$initiales."\"> ".$initiales." , ".$nom." , ".$prenom." , ".$num."</option>";
    }
    }
    ?>
    </select>

  16. #16
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    ma solution de cowboy était un exemple de syntaxe correcte, dans lequel j'ai ajouté tout ce que j'ai vu qu'il manquait (et il manquait un paquet de choses).
    C'est un début, je n'ai jamais dit que ça resolvait ton problème.
    En tout cas, ça a plus de chance de fonctionner que ton script de départ.

    ça n'est pas très dur à débugguer, mais je vais quand même te donner qqs pistes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo $initiales;
    print_r($val);
    var_dump($query2);
    var_dump($res2);
    ....


    à appliquer à tes variables bien sur.
    Si il y a des fonctions que tu ne conais pas
    www.php.net/ta_fonction
    par exmple www.php.net/var_dump



  17. #17
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    De plus, je t'es posé une question auquel tu n'as pas répondu

    es-tu sûr que les champs "initiales" ne sont pas vides dans ta base?

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    oui oui il est pas vide car je l'utilise dans mon update et il fonctionne !

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Le code est bon et devrait faire ce que tu demandes mais à mon avis la condition ($initiales == $initiales2) n'est jamais remplie.

    Ajoute juste avant ton IF des truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo = "***";
    echo = "initiales = ".$initiale."<br>";
    echo = "initiales2 = ".$initiale2."<br>";
    echo = "***";
    La solution devrait alors te sauter à la tête

Discussions similaires

  1. [PHP-JS] Liste déroulante + Javascript + Php et Mysql : Besoin d'aide
    Par vampyrx dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/03/2006, 01h40
  2. [PHP-JS] Liste déroulante et 2 variables
    Par Kips dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2006, 14h39
  3. [PHP-JS] liste déroulante
    Par tioseb dans le forum Langage
    Réponses: 1
    Dernier message: 20/01/2006, 09h59
  4. [php/JS]listes déroulantes liées
    Par allyson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/01/2006, 12h30
  5. [PHP-JS] liste déroulante
    Par tioseb dans le forum Langage
    Réponses: 7
    Dernier message: 16/01/2006, 12h04

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