Bonjour,
Je me trouve devant un problème qui me pose un réel souci afin de pouvoir avancer dans une application.
Objectif : Le but a atteindre est d'avoir 2 listes déroulantes (une pour récupérer un nom et une deuxième pour le prénom correspondant).
La première liste va prendre les informations dans une table. La deuxième est 'fabriquée' en fonction du choix dans la première.
Problème rencontré : Si jamais il existe des homonymes (durand, dupont ou autre), lors du choix dans la deuxième liste (celle du prénom donc) le prénom choisi n'est pas conservé et il est remplacé par le dernier prénom saisi ...
Place au code :
Comme vous pouvez le voir, j'utilise une seule table qui contient les informations sur les identités...
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 <?php // déclaration requete sql $req_nom="SELECT DISTINCT nom from table_individu WHERE date_sortie = '0000-00-00' ORDER BY nom"; $res_req_nom=mysql_query($req_nom) or die ("Exécution de la requête impossible"); //Création liste déroulante contentant les noms présents echo'<form method="post" action=""><select name="nom" style="width:200px" onchange="this.form.submit();"><option></option>'; while($ligne=mysql_fetch_array($res_req_nom)) { extract($ligne); if ($nom<>"") { if(isset($_POST['nom']) && $_POST['nom']==$nom) $defaut="selected"; else $defaut=""; echo "<option value='$nom' $defaut>$nom</option>\n"; } } echo "</select>\n"; echo "</form>"; ?> </td> </tr> <tr> <td width="195"><span class="Style9">Prénom :</span></td> <td width="135"> <?php $nom = $_POST['nom']; // déclaration requete sql if (isset($_POST['nom'])) { $req_prenom="SELECT DISTINCT prenom FROM table_individu WHERE nom='".$_POST["nom"]."' ORDER BY prenom"; } else { $req_prenom="SELECT prenom FROM table_individu"; } $res_req_prenom=mysql_query($req_prenom) or die ("Exécution de la requête impossible"); ?> <?php //Création liste déroulante contentant les prénoms en fonction du choix du nom echo'<form method="post" action=""><select name="prenom" style="width:200px" onchange="this.form.submit();"><option></option>'; while($ligne=mysql_fetch_array($res_req_prenom)) {extract($ligne); if ($prenom<>"") { if(isset($_POST['prenom']) && $_POST['prenom']==$prenom) $defaut="selected"; else $defaut=""; echo "<option value='$prenom' $defaut>$prenom</option>\n"; } } echo "</select>\n"; ?> <input type="hidden" value="<?php echo $nom ; ?>" name="nom" /> <input type="hidden" value="<?php echo $prenom ; ?>" name="prenom" /> <?php echo "</form>";
Si quelqu'un pouvait m'aider à découvrir mon erreur car là, j'avoue me faire mal aux yeux dessus sans rien trouver
Merci.![]()





Répondre avec citation

Partager