Bonjour,
J'aimerai construire des listes dynamiques à partir d'un champ de ma table, biensûr j'ai fait une recherche sur google et j'ai trouvé de quoi générer des listes avec deux tables différentes, ce qui est très bien.
Ma table très simplifiée pour l'exemple se présente ainsi pour les deux champs concernés :
Pour ma première liste déroulante, elle pourrait contenir (radiateur energetique et accessoires, VisioTree Teflon valves, chauffe-eau frittes robinet...), ma deuxième liste déroulante pourrait contenir (Rondelle Complete Piston, Boite 58 489 (ea), Levier pression, Complete Piston...=
Si on choisit VisioTree Teflon valves dans la première colonne, il faut que dans la deuxième colonne, se génère automatiquement rondelle menesse yu, rondelle basic et rondelle classic par exemple puisque ce sont les caractéristiques pour ces valves là.
Je ne sais pas bien comment faire. Merci pour votre aide :-)
Code mysql : 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 Nom Caractéristiques radiateur energetique et accessoires Rondelle Complete Piston radiateur energetique et accessoires Rondelle Complete Piston radiateur energetique et accessoires Boite 58 489 (ea) radiateur energetique et accessoires Boite 58 489 (ea) radiateur energetique et accessoires Levier pression radiateur energetique et accessoires Levier pression radiateur energetique et accessoires Levier pression58 489 (ea) radiateur energetique et accessoires Levier pression radiateur energetique et accessoires Levier pression robinet alluminium robinet alluminium robinet alluminium radiateur steel preparative et accessoires Complete Piston radiateur steel preparative et accessoires Complete Piston radiateur steel preparative et accessoires Complete Piston radiateur steel preparative et accessoires Replacement Piston/Frit, 2μm radiateur steel preparative et accessoires Replacement Piston/Frit, 2μm radiateur steel preparative et accessoires Replacement Piston/Frit, 2μm chauffe-eau frittes robinet chauffe-eau frittes robinet VisioTree Teflon Kits VisioTree Teflon Kits VisioTree Teflon Kits VisioTree Teflon valves rondelle menesse yu VisioTree Teflon valves rondelle menesse yu VisioTree Teflon valves rondelle menesse yu VisioTree Teflon valves rondelle menesse yu VisioTree Teflon valves rondelle Basic VisioTree Teflon valves rondelle Basic VisioTree Teflon valves rondelle Basic VisioTree Teflon valves rondelle Basic VisioTree Teflon valves rondelle Basic VisioTree Teflon valves rondelle Classic VisioTree Teflon valves rondelle Classic
Et le petit code qui va bien pour trois listes dynamiques mais sur trois tables différentes...
Code php : 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137 //connexion base if(isset($_POST['ok'])){ //le bouton ok du formulaire a été cliqué $ville=isset($_POST['ville']) ? $_POST['ville'] : ""; $sql3 = "SELECT lien, ville FROM liens_villes WHERE id_ville='".$ville."'"; $rech_lien= mysql_query($sql3) or die('Pb requette lien '.mysql_error()); $ligne=mysql_fetch_assoc($rech_lien); $lien=$ligne['lien']; //on redirige directement vers la page du lien header('Location:'.$lien.''); } /// echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"); /* On récupère si elle existe la valeur de la région envoyée par le formulaire */ $idr = isset($_POST['region'])?$_POST['region']:null; ?> <?php /* On récupère si elle existe la valeur de la région envoyée par le formulaire */ $idr = isset($_POST['region'])?$_POST['region']:null; ?> <?php //recupération des selections éventuelles sinon init à vide $region=isset($_POST['region']) ? $_POST['region'] : ""; $departement=isset($_POST['departement']) ? $_POST['departement'] : ""; // //connexion a mysql contarirement à ce qui était dit mysql suffit pendant tout le scipt //par contre c'est dépassé il faut utiliser PDO:: //pour le moment une solution avec mysql ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> <fieldset style="border: 3px double #333399"><legend>Sélectionnez une région</legend> <select name="region" id="region" onchange="submit();"> <option value="-1">- - - Choix - - -</option> <?php $sql1 = "SELECT id_region, region FROM region ORDER BY region"; //par orde alpa des noms c'est qd mêm mieux ! $rech_regions = mysql_query($sql1) or die('Pb requette régions '.mysql_error()); while($ligne = mysql_fetch_assoc($rech_regions)){ //pas besoin de passer par des array //generation de la ligne option $option= '<option value="'.$ligne['id_region'].'" '; if($region==$ligne['id_region']){$option.= ' selected="selected"';} //ça c'est pour conserver la sélection au réafficage suivant $option.=' >'.$ligne['region'].'</option>'; //affichage de la ligne option echo $option; } mysql_free_result($rech_regions); ?> </select> <?php //liste departements if(isset($_POST['region'])){ if($_POST['region']==-1){ echo 'Vous devez chosir une région'; }else{ ?> <select name="departement" id="departement" onchange="submit();"> <option value="-1">- - - Choisissez un département - - -</option> <?php $sql2 = "SELECT id_departement, departement FROM departement WHERE id_region='".$region."' ORDER BY departement"; $rech_departement = mysql_query($sql2) or die('Pb requette departement '.mysql_error()); while($ligne = mysql_fetch_assoc($rech_departement)){ //generation de la ligne option $option= '<option value="'.$ligne['id_departement'].'" '; if($departement==$ligne['id_departement']){$option.= ' selected="selected"';} //ça c'est pour conserver la sélection au réafficage suivant $option.=' >'.$ligne['departement'].'</option>'; //affichage de la ligne option echo $option; } mysql_free_result($rech_departement); ?> </select> <?php } } //liste villes if(isset($_POST['departement'])){ if($_POST['departement']==-1){ echo 'Vous devez chosir un departement'; }else{ ?> <select name="ville" id="ville"> <option value="-1">- - - Choisissez une ville - - -</option> <?php $sql3 = "SELECT id_ville, ville FROM ville WHERE id_departement='".$departement."'ORDER BY ville"; $rech_ville = mysql_query($sql3) or die('Pb requette ville '.mysql_error()); while($ligne = mysql_fetch_assoc($rech_ville)){ //generation de la ligne option $option= '<option value="'.$ligne['id_ville'].'" '; if($departement==$ligne['id_ville']){$option.= ' selected="selected"';} //ça c'est pour conserver la sélection au réafficage suivant $option.=' >'.$ligne['ville'].'</option>'; //affichage de la ligne option echo $option; } mysql_free_result($rech_ville); ?> </select> <br /><input type="submit" name="ok" id="ok" value="Envoyer" /> <?php } } ?> </fieldset> </form> <?php /* Terminé, on ferme la connexion */ mysql_close($connexion); ?> </body> </html>
Partager