Bonjour,
J'affiche sur une page web, une liste de noms et de pays, de noms de couleur, de nom de style.
le champ pays, couleur et style sont sous forme de liste déroulante.
Si je prends uniquement le champ pays, je souhaite afficher le nom du pays saisi dans la base sql
Jusque là, pas trop de souci.
voici les selectVoici ma boucle dans mon body et ma table
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 $query1 = "SELECT * FROM comp_post dp LEFT JOIN comp_pays dps ON dp.comp_pays = dps.id_pays LEFT JOIN comp_coul dc ON dp.comp_couleur = dc.id_coul LEFT JOIN comp_style ds ON dp.comp_style = ds.id_style ORDER BY comp_date DESC"; $result = mysql_query($query1) or die(mysql_error()); // Sélection Pays $reqPays = "SELECT * FROM comp_pays"; $resPays = mysql_query($reqPays)or die(mysql_error()); ?>
Le résultat est que seul le premier nom avec un pays sélectionné s'affiche.
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 <?php while ($aResult=mysql_fetch_array($result)){?> <td > <?php $selection= "SELECT * FROM comp_post dp LEFT JOIN comp_pays dc ON dp.comp_pays=dc.id_pays WHERE id_pays='".$aResult['comp_pays']."' "; $result2= mysql_query($selection) or die (mysql_error());?> <select name="id_pays" id="id_pays" > <?php while ($aResult2 = mysql_fetch_array($result2)) { ?> <?php while ($aPays = mysql_fetch_array($resPays)) { if ($aPays['id_pays'] == $aResult['comp_pays']) { $selected = ' selected'; } else { $selected = ''; } ?> <option value="<?php echo $aPays['id_pays']; ?>"<?php echo $selected; ?>><?php echo $aPays['nom_pays']; ?></option> <?php }}?> </select> </td>
Les autres sélect sont vides.
En langage naturel, je dirais ceci :
- liste de noms, pays, couleur, style
- dans cette liste, un menu déroulant de pays
- dans ce menu déroulant, afficher le pays sélectionné
et ce, sur chaque ligne de la liste.
J'ai pensé à un foreach mais je ne sais pas comment l'écrire ni à quel endroit des boucles le mettre.
Qui pourrait m'aider ?
Merci d'avance
ed
Partager