Bonjour,
Tout est dis dans le titre. Je souhaiterais avoir une liste deroulante qui est dependante d'une autre liste deroulante.
Voici ce que j'ai fais. Je crois savoir qu'il faut utiliser ajax ou du js. Seul souci je ne m'y connais pas du tout.
De plus j'ai une certaine structure de mon site et je voudrais la garder. Je ne sais pas trop comment l'adapter. Donc je recherche une solution alternative.
JE vous mets mon code.
rechercheCatArticle.php qui va permettre de rechercher un article en fonction dee liste deroulante.
DB.inc.php (qui fais office de connexion a la base et une fonction permettant l'execution de mes requetes).
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 <?php // a placer en TOUT debut de chaque page session_start(); if(! isset($_SESSION['nom'])) { header('Location: session_form.html'); exit(); } include "DB.inc.php"; include "fctAux.inc.php"; enTete(); contenu(); pied(); function contenu(){ menu(); $requete = "select distinct(d_name) from dcs_v order by D_NAME"; $requete2 = "select distinct(c_name) from dcs_v where d_name = '".mysql_real_escape_string ($nom)."' order by C_NAME"; $requete3 = "select distinct(s_name) from dcs_v order by S_NAME"; $db = new DB(); $t = $db->select($requete); $selected = ''; echo '<select name="department">',"\n"; for ($i = 0; $i < count($t); $i++) { $tuple = $t[$i]; echo "\t",'<option value="', $tuple->D_NAME ,'"', $selected ,'>', $tuple->D_NAME ,'</option>',"\n"; $selected=''; } echo '</select>'; echo '<br>'; echo $tuple->D_NAME; $db = new DB(); $t = $db->select($requete2); $selected2 = ''; echo '<select name="class">',"\n"; for ($i = 0; $i < count($t); $i++) { $tuple = $t[$i]; echo "\t",'<option value="', $tuple->C_NAME ,'"', $selected2 ,'>', $tuple->C_NAME ,'</option>',"\n"; $selected2=''; } } ?>
fctAux.inc.php (qui permet de faire toute la structure de mon site)
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 <?php // classe d'interface avec la base de donnees postgresql class DB{ /************************************************************************/ // Connexion à la base /************************************************************************/ private function connect(){ $connexion=OCILogOn("reportuser", "report", "SEPHO_DK") or die("Impossible de se connecter"); return $connexion; } /***************************************************************/ // Fermeture de la connexion /***************************************************************/ private function close($connexion){ OCIlogoff($connexion); } /***************************************************************/ // SELECT generique sur une table quelconque /***************************************************************/ function select($requeteSQL){ $tab=array(); $connexion=DB::connect(); $row = 0; $reponse = OCIParse($connexion, $requeteSQL); OCIExecute($reponse); while ($tuple = oci_fetch_object($reponse)){ $tab[$row]=$tuple; $row++; } DB::close($connexion); return $tab; } /***************************************************************/ // MAJ generique sur une table quelconque /***************************************************************/ function maj($requeteSQL){ $connexion=DB::connect(); OCIExecute($connexion, $requeteSQL) or die("requete impossible !\n"); DB::close($connexion); } } ?>
Je ne vois pas trop comment adapter cela.
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 <?php function enTete() { echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\"http://www.w3.org/TR/html4/loose.dtd\">\n"; echo "<html>\n"; echo "<head>\n"; echo "<link href=\"miseEnPage.css\" type=\"text/css\" rel=\"stylesheet\">"; echo "<title>RP Consulting</title>\n"; echo "</head>\n"; /*echo "<body style=\"background:url('lanvin3.jpg') no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; \">\n";*/ echo "<body bgcolor=\"#DBE6E5\">\n"; } function pied(){ echo' </body> </html> '; } function menu(){ echo ' <div class="haut"> <div class="hautGauche"> <img src="lanvin4.jpg"> </div> <div class="hautCentre"> RP Consulting </div> </div> </div> <div class="milieu"> <div class="menu"> Search <ul> <li><a href="rechercheClient.php">Customers</a> <li><a href="rechercheArticle.php">Classic search Items</a> <li><a href="rechercheCatArticle.php">Categorie search Items</a> </ul> Others <ul> <li><a href="about.php">About</a> <li><a href="deconnexion.php">Disconnect</a> </ul> </div> '; } ?>
J'espere que vous pourrez m'aider.
Cordialement,
Partager