Bonjour,

Alors, je vous explique, j'ai une liste de marques que je récupère dynamiquement dans un select. Jusque-là, pas très compliqué.
Cependant, j'aimerais remplir une seconde liste, de modèles cette fois-ci, et ce dynamiquement une fois que j'ai renseigné la première liste déroulante sans recharger la page.
Mais bien évidemment, ça ne marche pas

Voici mon code :

Un bout de mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<select id='marque_machine' style="width:165px;")<option></option>
<option>
<?php 
while ($ligne = $marque->fetch(PDO::FETCH_ASSOC)) {
    // on affiche les informations de l'enregistrement en cours
    echo '<option value="'.$ligne['NomMarque'].'">'.$ligne['NomMarque'].'</option>';
}
?>
</option></select></p>
<p><label style="width:80px;">Modèle :</label>
<select type='text' id='modele_machine' style="width:190px;"></select></p>
Mon Javascript :
Code javascript : 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
$(function() {
$('#marque_machine').change(function() {
	$('#modele_machine').empty()
 
 
		if($(this).val())
	$.getJSON("modele_ordinateur.php",{m: $(this).val()},
		function(liste_modele) {
 
 
			$.each(liste_modele,function(i,item) {
 
				var element = $("<option>"+item+"</option>")
					$('#modele_machine').append(element)
 
		})		
	})
 
	} )
})

Ma fonction avec laquelle je pré rempli ma liste déroulante de marque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
	$sql = 'SELECT DISTINCT marques.IdMarque,NomMarque
            FROM marques
            INNER JOIN modeles ON modeles.IdMarque = marques.IdMarque
            INNER JOIN typemateriel ON typemateriel.IdTypeMateriel = modeles.TypeMateriel
            WHERE IdTypeMateriel =:marque';
	$marque = $db->prepare($sql);
	$marque->execute(array(':marque'=>'1'));
 
include 'formulaire_ordinateur.php';
Mon fichier 'modele_ordinateur.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
<?php
 
include 'ticket/fonction/db.php';
 
if(isset($_GET['m']) ){
$marque = $_GET['m'];
 
$marque_modele = $db->prepare("SELECT NomModele 
	    from modeles 
		INNER JOIN marques m on m.IdMarque = modeles.IdMarque
		WHERE m.NomMarque = ':marque'");
$marque_modele->execute(array(':marque'=>$marque));
 
$result = $marque_modele->fetchAll(PDO::FETCH_NUM);
 
var_dump($result);
 
echo json_encode($result);
 
	}
Merci de m'aider car là je suis vraiment à la peine