Salut a tous,
Je me casse la tête depuis un moment pour faire un champ a autocomplétion (c'était censé être simple...)
Coté Javascript :
Coté PHP : (autocomplete.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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 $(function () { $("#city").autocomplete({ source: function (request, response) { var objData = {}; if ($(this.element).attr('id') == 'city') { objData = { city: request.term }; $.ajax({ url: "../php/autocomplete.php", dataType: "json", data: objData, type: 'POST', success: function(data) { response($.map(data, function(item) { return { label: item.city, value: function() { $('#city').val(item.city); return item.city; } } } )); } }) } }, minLength: 3 }); });
(country_code.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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php require_once('../includes/bdd_connect.php'); try { $db = getDB(); $bdd_success = fopen('bdd_success.txt', 'r+'); $date = date(DATE_RFC2822); fputs($bdd_success, 'success, '.$date); } catch (PDOException $e) { exit('problème de connexion à la base'); } include('country_code.php'); if (empty($country_code)) { } else { echo $country_code; } $requete = "SELECT city_name city FROM webgeocities WHERE city_name LIKE :city_name AND country_code =:country_code LIMIT 10"; $req_ville = $db->prepare($requete); $value = $_POST['city'].'%'; $req_ville->execute(array("country_code"=> $country_code,"city_name" => $_POST['city'].'%')); $list = $req_ville->fetchAll(PDO::FETCH_ASSOC); echo json_encode($list); ?>
En gros j'essaie de récuperer le pays sélectionné (liste déroulante) puis effectuer la requete PHP via Ajax pour afficher des suggestions de villes mais quand je met en place tout ça, rien ne se passe... Rien du tout !
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 <?php require_once('../includes/bdd_connect.php'); try { $db = getDB(); $bdd_success = fopen('../bdd_success.txt', 'r+'); $date = date(DATE_RFC2822); fputs($bdd_success, 'success, '.$date); } catch (PDOException $e) { exit('problème de connexion à la base'); } $req_pays = $db->prepare('SELECT country_code FROM country WHERE country_name =:country'); $req_pays->execute(array("country" => $_POST['country'])); $results = $req_pays->fetch(PDO::FETCH_OBJ); $country_code = $results->country_code; echo $country_code; ?>
Si quelqu'un pouvait m'aider a comprendre mon erreur... Merci d'avance !![]()
Partager