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 :

Problème avec liste. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 61
    Par défaut Problème avec liste.
    Bonjour,

    j'ai un problème avec une liste, via une table mySQL j'affiche dans une liste déroulante des infos et en fonction de l'info sur laquelle je click j'aimerais afficher une seconde info de ma table dans un input text à côté mais je ne vois pas comment faire...

    Si quelqu'un pouvez m'aider je lui serait très reconnaissant.

    Merci

  2. #2
    Membre expérimenté Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Par défaut
    tu peux poster ta page ($_POST) et récupérer la valeur de ta liste déroulante et ainsi gérer ton affichage dans le champ texte

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 61
    Par défaut
    Merci pour ta réponse, le problème c'est que je veux que cette mise à jour du champ texte se fasse lorsque l'on click sur un élément de la liste sans avoir a envoyer ma variable via un submit et je ne sais pas si cela est possible...

  4. #4
    Membre expérimenté Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Par défaut
    tu ne veux pas poster ta page ?
    ET
    tu ne veux pas utiliser de javascript ?

    il ne te reste plus que le java, jsf, jsp, ou c++ alors...

    plus sérieusement, il te faut l'une de ces deux solutions ; à toi de faire ton choix !

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 61
    Par défaut
    Je veux bien poster ma page mais est il possible de poster la page sans utiliser le bouton submit mais simplement en changeant le champ sélectionné dans la liste déroulante...??

    Encore merci de m'aider.

  6. #6
    Membre expérimenté Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Par défaut
    ben wi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="nom" onchange="form.submit();">

  7. #7
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 61
    Par défaut
    Je te remercie ça marche très bien mis a part que dès que ma page est rechargé c'est le premier nom de la liste qui est affiché et je voudrais que ce soit le nom correspondant au deuxième attribut que j'affiche dans mon input text. Voici mon 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
     
    // on crée la requete SQL
    $sql = 'SELECT nom FROM fournisseur'; 
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    	echo '<form method="POST" action="test.php">Fournisseur : 
    	<SELECT name="fournisseur" onChange="form.submit();">';
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_array($req)) 
        {
        // on affiche les informations de l'enregistrement en cours
    	echo '<OPTION VALUE = '.$data['nom'].'>'.$data['nom'].'</OPTION>';
     
        } 
    echo '</SELECT></form><button type="button" onclick="ouvrir_fournisseur()">


    Donc je ne vois pas d'où vient mon erreur.

    Encore merci pour ton aide.

  8. #8
    Membre expérimenté Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Par défaut
    c'est normal. tu dois comparer tes variables pour pouvoir affecter à ton "<option>" l'attribut "selected". ecple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $ma_value = $_POST['value'];
    echo "<select name="liste" onchange="form.submit();">";
    while (recordset)
    {
    if ($ma_value == $data['nom'])
      $selected = "selected";
    echo "<option ".$selected." value="".$data['nom']."">".$data['nom']."</option>";
    }
    echo "</select>";
    ?>
    c'est vite fait ; je garanti pas que ça marche, mais tu as l'idée générale

  9. #9
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 61
    Par défaut
    Je suis désolé mais je n'arrive pas à utiliser ton code, je ne vois pas à quoi sert la boucle sur le recordset, voici la partie de mon code qui me pose problème tu ne pourrais pas intégrer ton code pour que le tout fonctionne...

    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
     
    if(isset($_POST['fournisseur']))      $fournisseur=$_POST['fournisseur'];
    else      $fournisseur="null";
     
    // on crée la requete SQL
    $sql = 'SELECT nom FROM fournisseur'; 
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    	echo 'Fournisseur : 
    	<SELECT name="fournisseur" onChange="form.submit();">';
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_array($req)) 
        {
    	echo '<OPTION VALUE = '.$data['nom'].'>'.$data['nom'].'</OPTION>';
     
        } 
    echo '</SELECT><button type="button" onclick="ouvrir_fournisseur()">
      <img src="images/downarrow-hover.gif">
    </button><br /><br />';
     
     
     
     
    // on crée la requete SQL
    $sql = "SELECT tel FROM fournisseur where nom = \"$fournisseur\""; 
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    	echo 'N° de téléphone du fournisseur : ';
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_array($req)) 
        {
        // on affiche les informations de l'enregistrement en cours
    	echo '<input type=\"text\" name=\"tel_fourn\" size=\"10\" DISABLED value='.$data['tel'].' maxlength=\"10\">';
        }
     
    print(" <br /><br /></td>");
    De plus ce form doit également être intégré dans un autre form et j'ai peur d'un conflit entre les deux, je ne crois pas que l'on puisse donner un nom à un form...??

    Encore merci de me venir en aide je ne sais vraiment pas ce que je ferais sans cette communauté...

  10. #10
    Membre expérimenté Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Par défaut
    ça devrait donner ça : (j'ai juste intégré la comparaison de ta variable récupéré en $_POST et celle venant de ta requete)
    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
    <?php
    if(isset($_POST['fournisseur']))      $fournisseur=$_POST['fournisseur'];
    else      $fournisseur="null";
     
    // on crée la requete SQL
    $sql = 'SELECT nom FROM fournisseur';
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	echo 'Fournisseur :
    	<SELECT name="fournisseur" onChange="form.submit();">';
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_array($req))
        {
        if ($fournisseur == $data['nom'])
          $selected = "selected";
    	echo '<OPTION '.$selected.' VALUE = '.$data['nom'].'>'.$data['nom'].'</OPTION>';
     
        }
    echo '</SELECT><button type="button" onclick="ouvrir_fournisseur()">
      <img src="images/downarrow-hover.gif">
    </button><br /><br />';
     
     
     
     
    // on crée la requete SQL
    $sql = "SELECT tel FROM fournisseur where nom = \"$fournisseur\"";
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	echo 'N° de téléphone du fournisseur : ';
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_array($req))
        {
        // on affiche les informations de l'enregistrement en cours
    	echo '<input type=\"text\" name=\"tel_fourn\" size=\"10\" DISABLED value='.$data['tel'].' maxlength=\"10\">';
        }
     
    print(" <br /><br /></td>");
    ?>
    ps : dsl pour la réponse tardive... j'étais en week-end !

  11. #11
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 61
    Par défaut
    Merci beaucoup pour ton aide qui m'est très précieuse ton code fonctionne bien, ça marche parfaitement merci.

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

Discussions similaires

  1. [SQL] Problème avec liste déroulante et select
    Par cari dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 28/07/2006, 20h52
  2. Problème avec listes déroulantes
    Par dl_jarod dans le forum Langage
    Réponses: 9
    Dernier message: 07/06/2006, 10h13
  3. Réponses: 20
    Dernier message: 22/03/2006, 14h00
  4. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04
  5. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10

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