Bonjour tout le monde !
Je me tourne vers vous parce que j'ai un petit probl�me pour mettre � jour un champ texte en fonction du choix d'une liste d�roulante.
Mes donn�es sont enregistr�es dans une base de donn�es (jdr)
Pour commencer, je vous met un bout de html
l'id�e c'est de mettre � jour le champ exp�rience en fonction de la liste classe. J'ai r�ussit cette partie l�. Je vous met mes script php et js
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 Choix de la classe <select class="separator_ligne" name="classe" id="classe_select" size="1"> <option value="sloop" checked="checked">Sloop</option> <option value="caravelle">Caravelle</option> <option value="galere">Galère</option> <option value="cuirasse">Cuirassé</option> <option value="fregate">Frégate</option> <option value="gallion">Gallion</option> </select> Expériences <input id="exp" class="separator_ligne size-input" type="text" value="" /> Type de canon <select class="separator_ligne" name="type" id="type_canon" size="1"> <option value="leger" checked="checked">Léger</option> <option value="naval">Naval</option> <option value="lourd">Lourd</option> </select> Dégats : <input id="DD_degat" class="separator_ligne size-input" type="text" value="" />
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 // init bdd $bdd = mysqli_connect ( 'localhost:3306', 'root', 'root' ); mysqli_select_db ( $bdd, 'jdr' ); // if(isset($_POST['classe'])) { $query = 'SELECT exp,classe FROM bateau WHERE classe ="' . $_POST['classe'] . '";'; $result = mysqli_query ( $bdd, $query ); $query_result = array(); while($row = mysqli_fetch_assoc ( $result )){ $query_result[]['exp']= $row['exp']; } echo json_encode(array('experience' => $query_result[0]['exp'])); } // fermeture bdd mysqli_close($bdd); ?>J'ai donc voulu adapter ma syntaxe au champ d�gats qui se met � jour avec la liste type de canon. Et l�.... �a ne fonctionne pas du tout : j'obtient le message parse error.
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 // Fonction de mise à jour $(document).ready(function() { get_experience(); $('#classe_select').on('change', function() { get_experience(); }); }); $(document).ready(function(){ get_degat(); /*$('#type_canon').on('change',function() { get_degat(); });*/ }); // Récupération des données dans la base de données function get_experience(){ var ajaxData = { classe: $('#classe_select').val() }; $.ajax({ method: "POST", url: "includes/mon_ajax.php", data: ajaxData, dataType: 'json' }).done(function( jsonResult ) { $('#exp').val(jsonResult.experience); }).fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); } function get_degat(){ var ajaxData = { classe: $('#type_canon').val() }; console.log($('#type_canon').val()); $.ajax({ method: "POST", url: "includes/mon_ajax_degat.php", data: ajaxData, dataType: 'json' }).done(function( jsonResult ) { $('#DD_degat').val(jsonResult.valeur_degat); }).fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); }
voil� le code php associ�e au type de canon :
Visiblement, lorsque la fonction get_degat est appel�e, la condition $_POST['type'])==0 est valid�e. Je ne comprend absolument pas pourquoi...
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 <?php // init bdd $bdd = mysqli_connect ( 'localhost:3306', 'root', 'root' ); mysqli_select_db ( $bdd, 'jdr' ); // if(isset($_POST['type'])==0){ echo 'aucune entrée'; } if(isset($_POST['type'])){ $query = 'SELECT type,degat FROM canon WHERE type ="' . $_POST['type'] . '";'; $result = mysqli_query ( $bdd, $query ); $query_result = array(); while($row = mysqli_fetch_assoc ( $result )){ $query_result[]['DD_degat']= $row['DD_degat']; } echo json_encode(array('valeur_degat' => $query_result[0]['DD_degat'])); } // fermeture bdd mysqli_close($bdd); ?>
Je vous remercie d'avance
Partager