Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2007, 15h28   #1
Invité régulier
 
Inscription : janvier 2005
Messages : 42
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 42
Points : 9
Points : 9
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 :
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.
nagdrir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 15h52   #2
Membre actif
 
Avatar de bluemartini
 
Inscription : avril 2006
Messages : 154
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : avril 2006
Messages : 154
Points : 160
Points : 160
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
bluemartini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 16h09   #3
Invité régulier
 
Inscription : janvier 2005
Messages : 42
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 42
Points : 9
Points : 9
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.
nagdrir est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h36.


 
 
 
 
Partenaires

Hébergement Web