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 :

[SQL] liste déroulante classée avec valeur cible


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Points : 26
    Points
    26
    Par défaut [SQL] liste déroulante classée avec valeur cible
    Bonjour,
    J'ai une liste déroulante qui affiche les différentes familles de produits. Seulement la valeur cible est toujours la dernière de la liste, j'aimerais que ce soit la première.
    Ensuite, lorsque je sélectionne une famille de produit, je désire afficher tous les produits de ladite famille, mais là encore, c'est la dernière valeur de la liste qui est pointée au lieu de celle choisie précédemment.
    J'espère que je suis clair.
    J'envoie le code d'essai que j'ai fait, en effet je n'affiche pas encore la liste des produits de la famille choisie, c'est pour plus tard.
    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
     
    Liste des articles par famille
     
    <?php
    mysql_select_db($database_connmaxi, $connmaxi);
    $query_recordset1 = "SELECT * FROM famille";
    $recordset1 = mysql_query($query_recordset1, $connmaxi) or die(mysql_error());
    if($recordset1)
    	{
    	echo'<form method="post">';
    	echo'<select name="fam">';
    	while ($array = mysql_fetch_array($recordset1)) 
    		{
    		if ($fam == $array["id"]) 
    			{
                echo '<option value="' . $array['id_famille'] . '" selected>' . $array['nom_famille'] . '</option>';
            	}
    		 else
    		 	{
                echo '<option value="'.$array['id_famille'] . '">' . $array['nom_famille'] . '</option>';
            	}
    		}
    	echo '</select>';	
    	echo'</p>';
    	echo'<p>';
      	echo'<input name="envoyer" type="submit" />';
    	echo'</p>';
    	echo'</form>';
    	}
     
    $choixfamille= isset($_POST['fam']) ? $_POST['fam'] : '';	
    if ($choixfamille) {
    	echo'Valeur $choixfamille : '.$choixfamille;
        $query = mysql_query("SELECT nom_famille FROM famille WHERE id_famille='$choixfamille';") or die (mysql_error());
        $array = mysql_fetch_array($query);
        echo 'Vous avez choisi la famille : ' . $array['nom_famille'];
    }
    mysql_close();	
    ?>
     
    </body>
    </html>
    <?php
    mysql_free_result($recordset1);
    ?>
    Merci de votre aide.

  2. #2
    Membre habitué Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Points : 168
    Points
    168
    Par défaut
    l'ordre présenté dans ta liste déroulante est fonction de l'ordre dans lequel apparaissent tes valeurs dans la page html générée par ton code PHP.
    A toi de te débrouiller pour que ton script sache quelle valeur tu veux faire passer en premier.
    Idem pour les produits de la famille concernée.
    Si la liste des produits est récupérée dans une base SQL, bien réfléchir à la structure de tes tables peut grandement t'aider pour te faciliter le travail

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    Merci, c'est bien ce que j'avais cru comprendre.
    Donc il n'y a pas moyen de faire apparaitre la première valeur de la liste déroulante ? J'aurais préféré.
    Et ensuite, une fois l'affichage des produits par famille affiché, il n'est pas non plus possible de faire apparaitre la famille choisie dans la liste déroulante ?
    Je ne trouve pas ça très pratique.
    En ce qui concerne l'ordre des produits eux-mêmes ce sera dans l'ordre chronologique, donc ce n'est pas trop un problème.

Discussions similaires

  1. [MySQL] liste déroulante remplis avec une valeur d'un champ
    Par adnanedelphi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/02/2011, 13h11
  2. [MySQL] Liste déroulante mysql avec valeur vide
    Par tittano dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/02/2009, 14h31
  3. Gestion de 5 listes déroulantes liées avec paramètres SQL
    Par kenshir0 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/04/2007, 18h46
  4. [SQL] Liste déroulante à partir d'une table avec tri
    Par ksper92 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2006, 11h25
  5. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04

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