Extraire les choix de liste déroulante PHP
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:
Code:
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> |
ainsi que les 2 appels, get_ship.php:
Code:
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:
Code:
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
}
}
?> |
Je vous montre aussi mon fichier javascript:
Code:
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();
} |
Pourriez-vous me venir en aide?
Cordialement.