Bonjour à tous
Je tente d'afficher les villes concernées par la saisie d'un Code Postal avec Ajax pour éviter la recharge de la page, et Mysql :
extrait du Fichier html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <div class="divProfil_IinfosBase"> <label for="Profil_Pays"></label> <select id="Profil_Pays" class="ComboTexte_Moyen"> <option value="BE">Belgique</option> <option value="FR" selected>France</option> <option value="CH">Suisse</option> </select> <label for="Profil_CP"></label> <input id="Profil_CP" class="inputTexte_Petit" type="text" placeholder="Code Postal" onblur="ajax_post('divComboVilles','script_rechVillesparCP.php');"/> <div id="divComboVilles"></div> </div>
voici le code Ajax , mis dans un fichier spécifique . js :
NB : les paramètres VarPays et VarCP sont bien récupérés
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 function ajax_post(paramDivDesti, paramFicPhp){ //Var varCP1 = document.getElementById('AdrCP'); var VarPays; var VarCP; var VarDataPOST; var FicPHP; VarPays = document.getElementById('Profil_Pays').value; VarCP = document.getElementById('Profil_CP').value; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById(paramDivDesti).innerHTML = xmlhttp.responseText; } } //FicPHP = "../scripts/"+paramFicPhp; xmlhttp.open("POST", "./script_rechVillesparCP.php" , true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send("paramPays='"+ VarPays + "'¶mCP='"+ VarCP +"'"); }
Et c'est là que ça pèche , le fichier PHP :
Le fichier n'est pas du tout appelé, aucune réponse n'est affichée, aucun 'echo' non plus... les deux fichiers sont dans le même dossier
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 <? require 'script_paramDB.php'; echo $_POST['paramPays']; //On vérifei les paramètres if(isset($_POST['paramPays']) || isset($_POST['paramCP']) ){ $con = mysqli_connect($host,$user,$pass,$db); // Check connection if (!$con) { echo 'Connexion à MySQL: impossible : '.mysqli_connect_error(); } $parPays = $_POST['paramPays']; $parCP = $_POST['paramCP']; /* une requète pour récupérer les villes concernées par le CP saisi */ $query = "SELECT ville_code_postal, ville_code_commune, ville_nom_reel "; $query .= "FROM psol_adrvilles WHERE Ville_Pays='".$parPays."' AND ville_code_postal='".$parCP."' "; $query .= "ORDER BY ville_nom_reel"; if ($result = mysqli_query($con, $query)) { /* Tableau associatif de la ligne sélectionnée */ while ($row = mysqli_fetch_assoc($result)) { printf ("%s (%s)\n", $row["ville_nom_reel"], $row["ville_code_postal"]); } /* Libération du jeu de résultats */ mysqli_free_result($result); }else{ $result=die(mysqli_error($con)." Q=".$query); } } ?>
Merci à tous
Franck
Partager