Je ne suis pas un professionnel de JavaScript ou Ajax. Je cantonne à l'utilisation de PHP. Pour cette raison, j'ai besoin de créer un menu déroulant qui s'adapte à un premier menu déroulant.
Première Page de test :
Code : Tout sélectionner
<?php
session_start();
if (!empty($_POST)) {
var_dump($_POST);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<h1>Fournisseur - Bon de Commande</h1>
<form action='test_select_auto.php' method='post' name='formDevis' id='loginform' enctype='multipart/form-data'>
<h2>Choix du fournisseur : </h2>
<select name='organisme_exterieur' id="organisme_exterieur" class='popup' onchange="fetch_select(this.value);">
<?php
$requeteFournisseur = $bdd->query("SELECT DISTINCT FOURNISSEUR FROM `bon_de_commande` ORDER BY `FOURNISSEUR`");
while ($fournisseur = $requeteFournisseur->fetch()){
echo ("<option value='".$fournisseur['FOURNISSEUR']."'>".$fournisseur['FOURNISSEUR']."</option>");
}
$requeteFournisseur->closeCursor();
?>
</select><br />
<h2>Choix du bon de commande</h2>
<select name="bon_de_commande" id="bon_de_commande"></select>
<br><br>
<button type="submit">ENVOYER !</button>
</form>
<script type="text/javascript">
function fetch_select(val) {
$.ajax({
type: 'POST',
url: 'data.php',
data: {
organisme_exterieur: val
},
success: function(response) {
$('#bon_de_commande').html(response);
}
})
}
</script>
</body>
Code : Tout sélectionner
<?php
if (!empty($_POST['organisme_exterieur'])) {
$rechercheBdc = $bdd->query("SELECT*FROM `bon_de_commande` WHERE `FOURNISSEUR`='".$_POST['organisme_exterieur']."' ORDER BY `ID`");
$res = [];
while ($resultatsBdc = $rechercheBdc->fetch()){
$res[] = '<option value="'.$resultatsBdc['ID'].'">'.$resultatsBdc['NUM_COMMANDE'].'</option>';
}
$rechercheBdc->closeCursor();
echo implode(PHP_EOL, $res);
exit;
}
?>
Dans l'attente d'une réponse de votre part, par avance merci.