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

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="" />
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
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);
?>
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 );
    });
}
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.

voilà le code php associée au type de canon :
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);
?>
Visiblement, lorsque la fonction get_degat est appelée, la condition $_POST['type'])==0 est validée. Je ne comprend absolument pas pourquoi...

Je vous remercie d'avance