Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: christelle le le 04-09-2010 a 09:32:08

Titre: PHP - Lister des régions, villes, depart.
Posté par: christelle le le 04-09-2010 a 09:32:08

PHP - Lister des régions, villes, depart.
Salut,
Je souhaite intégrer à mon site web une fonctionnalité qui consisterait à créer un champs texte dans lequel le visiteur saisirait le début du nom d'une région, d'une ville ou département pour qu'une fenêtre contextuelle apparaissent et lui donne des suggestions en fonction du début de sa saisie.

Je ne sais pas si je suis claire, on trouve plein d'exemple sur le net comme sur :
http://www.orkes.fr/modules/annonces/consulter/recherche.php
ou encore
http://www.seloger.com/

Existe-il une api toute faite à intégrer ?

Merci d'avance pour votre aide. Je programme en PHP et javascript.

Christelle.

Titre: Re:PHP - Lister des régions, villes, depart.
Posté par: Krash le le 04-09-2010 a 11:48:17

Bonjour,

Si déjà tu programmes, ça peut être intéressant pour toi de le faire toi même, tout dépend si tu programmes juste comme ça de temps en temps pour ton site ou si tu souhaites t'améliorer, en faire ton métier etc.

Pour faire ça c'est du javascript / ajax
Tu peux facilement le faire à l'aide de framework comme jquery ou mootools.

Exemple avec mootools que je maitrise beaucoup plus que jquery :

tu as par exemple un formulaire avec input text
<input type="text" name="ville" id="ville" />

<script type="text/javascript">

window.addEvent('domready', function() {
$('ville').addEvent('keydown', function() {
new Request({
url: 'ville.php',
onSuccess: function(content) {
//traitement des données retournées par le php contenu dans la variable "content"
}
}).send('ville=' + $('ville').value);
});
});

</script>

Donc là le javascript permet de détecter lorsque l'on appui sur une touche du clavier et à chaque fois, il fera une requête ajax en faisant appel au fichier php ville.php en lui envoyant le contenu du champ de texte.
A toi ensuite de faire une requête sql dans le php en cherchant toutes les villes commençant par les caractères entrés : WHERE ville LIKE `' . $_POST['ville'] . '%`

tu fais un echo des valeurs ou renvoies un xml, à toi de voir puis tu traites les données dans le javascript

La c'est du vite fait, faut adapter. Car la par exemple si on tape très vite les caractères, le script va envoyer plein de requêtes ajax sans que la première soit terminé. tu peux par exemple faire une vérification pour envoyer la requête ajax uniquement a partir du moment ou il y a une pause au niveau de la saisie. Empêcher l'envoie d'une autre requête tant que la première n'est pas terminée etc..


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.