par
xTG » 15 mars 2012, 18:31
En fait je vois pas tellement ce que tu proposes en autocomplete vu que tu as plusieurs variables dans ta requête...
Je vais donc t'exposer les bases pour un champ autocomplete fonctionnel, cela t'éclaircira peut être les idées, ou bien à toi de nous rebalancer dans la bonne direction avec plus de détails sur ton système.
Avec le plugin autocomplete tu peux référencer un array de termes (mais là tu ne contrôle pas très bien le fonctionnement) ou alors un url vers le script de traitement.
Cette seconde option est intéressante pour ton cas.
Tu définis ta fonction ainsi :
Code : Tout sélectionner
$('.selecteur').autocomplete({source:'monUrl/requeteSql.php'});
Le fichier sera appelé avec en paramètre la variable term qui contiendra les lettres rentrées dans le champ.
Le retour est de type JSON, ainsi voilà un exemple de fichier PHP :
<?php
// connexion BDD ....
$term = (isSet($_GET['term']) ? $_GET['term'] : '';
$sql = "SELECT codepostal FROM table WHERE codepostal LIKE '$term%'";
// Exécution requête et stockage résultat dans un array $data
echo json_encode($data); // renvoi du contenu sous format JSON
?>
Ainsi on utilise bien le pattern voulu.
En fait je vois pas tellement ce que tu proposes en autocomplete vu que tu as plusieurs variables dans ta requête...
Je vais donc t'exposer les bases pour un champ autocomplete fonctionnel, cela t'éclaircira peut être les idées, ou bien à toi de nous rebalancer dans la bonne direction avec plus de détails sur ton système.
Avec le plugin autocomplete tu peux référencer un array de termes (mais là tu ne contrôle pas très bien le fonctionnement) ou alors un url vers le script de traitement.
Cette seconde option est intéressante pour ton cas.
Tu définis ta fonction ainsi :
[code]$('.selecteur').autocomplete({source:'monUrl/requeteSql.php'});[/code]
Le fichier sera appelé avec en paramètre la variable term qui contiendra les lettres rentrées dans le champ.
Le retour est de type JSON, ainsi voilà un exemple de fichier PHP :
[php]<?php
// connexion BDD ....
$term = (isSet($_GET['term']) ? $_GET['term'] : '';
$sql = "SELECT codepostal FROM table WHERE codepostal LIKE '$term%'";
// Exécution requête et stockage résultat dans un array $data
echo json_encode($data); // renvoi du contenu sous format JSON
?>[/php]
Ainsi on utilise bien le pattern voulu.