Lier 2 listes avec un Select
Bonjour,
N'ayant pas trouvé de solutions dans les nombreux Posts sur ce forum, je viens vous demander conseils.
J'ai une base de données avec 1 table (room) qui contient les champs suivants (id | Bureau | Poste | disponible | cusid )
Voici mon fichier reservation.php dans lequel j'ai mon form et où j'appelle Ajax:
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
| <!-- jQuery Js -->
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="assets/js/jquery.min.js"></script>
<script type="text/javascript">
$('#bureau').on('change',function(){
var bureau = $(this).val();
if(bureau){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'Bureau='+bureau,
success:function(html){
$('#poste').html(html);
}
});
}else{
$('#poste').html('<option value="">Select bureau first</option>');
}
});
</script>
<form class="form" role="form" action="reservation.php" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="bureau">Bureau *</label>
<?php $db = Database::connect();
$requete = $db->query('SELECT Distinct Bureau FROM room WHERE disponible = \'Libre\' ORDER BY Bureau ASC');
$rowCount = $requete->rowCount();
?>
<select id="bureau" name="bureau" class="form-control" required>
<option value="">Sélectionnez un bureau</option>
<?php
if($rowCount > 0){
while($item = $requete->fetch()) {
echo '<option value="'.$item['Bureau'].'">'.$item['Bureau'].'</option>';
}
} else{
echo '<option value="">Bureau non disponible</option>';
}
Database::disconnect();
?>
</select>
</div>
<div class="form-group">
<label for="poste">Poste </label>
<select name="poste" id="poste" class="form-control" required >
<option value="">Sélectionnez d'abord un bureau</option>
</select>
</div>
</form> |
Et voici mon fichier ajaxData.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?php
include 'config.php';
if(isset($_POST["bureau"]) && !empty($_POST["bureau"]))
{
$requete = $con->query("SELECT DISTINCT Poste FROM room WHERE Bureau = ".$_POST['bureau']." AND disponible = 'Libre' ORDER BY Poste ASC");
//Count total number of rows
$rowCount = $requete->num_rows;
if($rowCount > 0){
echo '<option value="">Sélectionnez un Poste</option>';
while($row = $requete->fetch_assoc()) {
{
echo'<option value="'.$row['id'].'">'.$row['Poste'].'</option>';
}
}
}else{
echo '<option value="">Poste non disponible</option>';
}
}
?> |
Je n'arrive pas à trouver mon erreur, trop la tête dedans...
Merci !!