Bonjour à tous !
Je me retrouve face à un petit problème sur une liste déroulante que j'ai créé.
Je m'explique : dans cette liste doit apparaître la liste de mes fournisseurs classés par "Pays". Le problème c'est que lorsque j'ai plusieurs fournisseurs d'un même pays, il m'affiche deux fois la catégorie.
Voilà le code de la liste déroulante en question :
et voilà ma table fournisseur :
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 <select name="fournisseur"> <!-- Mise en place d'une liste déroulante affichant tout les fournisseurs par pays --> <option value="">------</option> <?php $req = "SELECT `paysFourn` FROM fournisseur"; $donnees = mysql_query($req) or die (mysql_error()); while($pays = mysql_fetch_array($donnees)) { $nomPays = $pays['paysFourn']; echo("<optgroup label=".$nomPays.">"); $req2 = "SELECT * FROM fournisseur WHERE `paysFourn`=\"".$nomPays."\""; $donnees2 = mysql_query($req2) or die (mysql_error()); while($fourn = mysql_fetch_array($donnees2)) { $nomFourn = $fourn['nomFourn']; echo("<option value=\"". $nomFourn ."\">" . $nomFourn . "</option>"); } } ?> </select>
Merci de votre aide
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 CREATE TABLE `fournisseur` ( `codeFourn` int(3) NOT NULL auto_increment, `nomFourn` varchar(50) NOT NULL, `paysFourn` varchar(20) default NULL, `adFourn` varchar(150) default NULL, `telFourn` varchar(20) default NULL, `faxFourn` varchar(20) default NULL, `emailFourn` varchar(20) default NULL, `contactFourn` varchar(50) default NULL, PRIMARY KEY (`codeFourn`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ; -- -- Contenu de la table `fournisseur` -- INSERT INTO `fournisseur` (`codeFourn`, `nomFourn`, `paysFourn`, `adFourn`, `telFourn`, `faxFourn`, `emailFourn`, `contactFourn`) VALUES (1, 'Fournisseur 1', 'France', '10 rue de chez lui', '16554', '545644', 'fournisseur1@test.co', 'Mr Fournisseur 1'), (2, 'Fournisseur 2', 'Italie', '1 rue de la Pizza', '53435453', '53435454', 'fournisseur2@test.co', 'Mme Fournisseur 2'), (3, 'Fournisseur 3', 'USA', '911 humburger street', '23545375371', '524154571', 'fournisseur3@usa.com', 'Mr. Washington'), (4, 'Fournisseur 4', 'France', '1 rue de la baguette', '01 60 00 00 00', '01 60 00 00 01', 'fournisseur4@france.', 'Mr. Dupont'), (5, 'Fournisseur 5', 'Italie', '12 rue des Spaghettis', '4152639685', '4152639686', 'fournisseur5@italie.', 'Mr Mozarella');
Partager