Bonsoir,
J'ai 3 listes déroulantes en cascade alimentées via MYSQL et je souhaiterais récupérer la sélection de chaque liste déroulante afin de les insérer dans mes tables MYSQL.
J'essaye en vain depuis 3 jours de trouver la solution mais je rame....
Je précise que les listes déroulantes sont fonctionnelles.
Je vous partage le code existant:
ainsi que les 2 appels, get_ship.php:
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 <?php require '../ajout_ship/database_connect.php'; $dbship = new DB(); $queryMember = "SELECT * FROM member"; $queryMaker = "SELECT * FROM maker"; $resultsMember = $dbship->runQuery($queryMember); $resultsMaker = $dbship->runQuery($queryMaker); ?> <html> <head> <title>Liaison entre deux liste déroulante constructeur et ship</title> <head> <link rel="stylesheet" href="../ajout_ship/css/style.css" /> <script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script> <script type="text/javascript" src="../ajout_ship/js/script.js"></script> </head> <body> <div class="clearfix"> <div class="box"> <label>Constructeur:</label> <br/> <select name="maker" id="liste-maker" class="boxInput" onChange="getShip(this.value);"> <option value="">Sélectionnez le constructeur</option> <?php foreach($resultsMaker as $maker) { ?> <option value="<?php echo $maker["id_maker"]; ?>"><?php echo $maker["name_maker"]; ?></option> <?php } ?> </select> </div> <div class="box"> <label>Vaisseau/véhicule:</label> <br/> <select name="ship" id="list-ship" class="boxInput" onChange="getShipVariant(this.value);"> <option value="">Sélectionnez le vaisseau/véhicule</option> </select> </div> <?php ?> <div class="box" id="box-variant"> <label>Variante:</label> <br/> <select name="variant" id="list-variant" class="boxInput"> <option value="">Sélectionnez la variante</option> </select> </div> </div> <!--<div><input type="submit" name="submit" value="Ajouter" /></div> <div><?php ?></div>--> <?php ?> </body> </head> </html>
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 /*Appel de la base de donnée*/ require_once("../ajout_ship/database_connect.php"); $db = new DB(); /*Test si la variable est non vide*/ $id_maker = $_POST["id_maker"]; if(!empty($_POST["id_maker"])) { /**/ $query ="SELECT * FROM ship WHERE id_maker = '" . $_POST["id_maker"] . "' ORDER BY name_ship"; $results = $db->runQuery($query); ?> <option value="">Sélectionnez le vaisseau/véhicule</option> <?php foreach($results as $ship) { ?> <option value="<?php echo $ship["id_ship"]; ?>"><?php echo $ship["name_ship"]; ?></option> <?php } } ?>
get_variant.php:
Je vous montre aussi mon fichier javascript:
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 <?php require_once("../ajout_ship/database_connect.php"); $db = new DB(); if(!empty($_POST["id_ship"])) { $query ="SELECT DISTINCT name_variant FROM ship_variant WHERE id_ship = '" . $_POST["id_ship"] . "' ORDER BY name_variant"; $results = $db->runQuery($query); ?> <option value="">Sélectionnez la variante</option> <?php foreach($results as $shipvariant) { ?> <option value="<?php echo $shipvariant["name_variant"]; ?>"><?php echo $shipvariant["name_variant"]; ?></option> <?php } } ?>
Pourriez-vous me venir en 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
23
24
25
26 function getShip(val) { $.ajax({ type: "POST", url: "../ajout_ship/get_ship.php", data:'id_maker='+val, success: function(data){ $("#list-ship").html(data); } }); } function getShipVariant(val) { $.ajax({ type: "POST", url: "../ajout_ship/get_variant.php", data:'id_ship='+val, success: function(data){ $("#list-variant").html(data); } }); } function selectMaker(val) { $("#search-box").val(val); $("#suggesstion-box").hide(); }
Cordialement.
Partager