Valeur d'un Champ de Saisie Dynamique

Eléphant du PHP | 72 Messages

10 août 2006, 11:11

Bonjour :D

J'ai un peu chercher sur le forum mais tous les messages que je trouve ne répondent pas à ma question :cry:

J'ai une table MySQL dans laquelle est stockée la liste des codes postaux et leur correspondant (nom de la ville). Je souhaite simplement que lorsque quelqu'un sélectionne un code postal, la ville correspondante apparaisse comme par magie dans le champ d'à côté :p

Je sais qu'il faut que j'utilise du JavaScript pour des questions de rapidité mais je ne sais pas quelle fonction utiliser pour mettre à jour tout ça :oops:

Merci d'avance
QMeuh

Eléphant du PHP | 353 Messages

10 août 2006, 11:17

Plusieurs méthodes sont possibles !

- AJAX => envoyer une requete au server via javascript afin de ne pas recharger la page

- Javascript => Plus complexe à réaliser
Tu dois enregistrer les valeurs dans un array ex=>

array = ('5000'=>'Namur','5100'=>'Jambes')

Clé = CP et value = Ville

Ainsi tu recherches dans l'array la clé pour la ville séléctionnée !
Puis tu affiches celle-ci dans un champ txt ou dans un div .

Voilà en gros les idées qui me viennent à l'esprit !

Eléphant du PHP | 441 Messages

10 août 2006, 11:18

2 solutions s'offrent à toi:

1. Ajax... et là je te laisee chercher notamment dans la FAQ
2. Javascript seul mais tu devras charger l'ensemble des données dans un tableau (ou autre structure) JS pour pouvoir faire cela... ambiance garantie ;)

Edit: pff TicTac tu travailles quand,ze vais le dire à ton patron !! :axe:
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 août 2006, 11:21

Edit: pff TicTac tu travailles quand,ze vais le dire à ton patron !! :axe:
:langue: Et toi ? tu bosses pas ? :lol:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 72 Messages

10 août 2006, 11:25

Ajax a-t-il besoin obligatoirement de l'extension MySQLi ?

Eléphant du PHP | 441 Messages

10 août 2006, 11:28

euh :langue:

Je viens de travailler en continue durant 16 minutes, ça mérite bien une pause ...

Image
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Eléphant du PHP | 353 Messages

10 août 2006, 11:40

C'est l'avantage de faire un programme qui fonctionne bien , plus bcp de boulot ensuite ;) éhéh


Aujourd'hui j'ai tout de meme envoyé quelques mails et sortis 2 listes de la base de donnée mysql !! !! \:D/

Eléphant du PHP | 72 Messages

10 août 2006, 11:41

Autre problème :P
Il y a des codes postaux qui correspondent parfois à plusieurs localité (petits villages perdu au fin fond des ardennes :p)

Donc mon problème change car j'aimerais être précis. Il y aurait-il moyen de proposer une liste (avec des input type radio) ?
Modifié en dernier par qmeuh le 10 août 2006, 11:50, modifié 1 fois.

Eléphant du PHP | 353 Messages

10 août 2006, 11:45

Il y aurait-il moyen
Pas mal le debut de phrase!!

Biensur , de récupérer toutes les villes pour ce CP puis de faire une boucle pour afficher chacun avec un radio button ;)

Eléphant du PHP | 72 Messages

10 août 2006, 11:52

Et ... comment on fait une boucle avec un tableau avec JavaScript ? :oops:

Merci beaucoup pour toutes ces petites précisions.

Eléphant du PHP | 353 Messages

10 août 2006, 11:54

Cherche un peu sur le forum !! et n'oublie pas que :google: est ton amis

Eléphant du PHP | 72 Messages

10 août 2006, 13:22

Bon voilà j'ai fait tout ce que j'ai pu ... Mais je coince pour deux choses ... :p

Je déclare mes valeurs dans un tableau associatif
Exemple :

Code : Tout sélectionner

villes[0] = new Array(); villes[0]["id"] = "1"; villes[0]["zipcode"] = "1000"; villes[0]["nom"] = "Bruxelles"; villes[1] = new Array(); villes[1]["id"] = "2"; villes[1]["zipcode"] = "1020"; villes[1]["nom"] = "Laeken"; villes[2] = new Array(); villes[2]["id"] = "3"; villes[2]["zipcode"] = "1030"; villes[2]["nom"] = "Schaerbeek"; villes[3] = new Array(); villes[3]["id"] = "4"; villes[3]["zipcode"] = "1040"; villes[3]["nom"] = "Etterbeek";
J'ai trouver comme les extraire :p Enfin je crois ...

Code : Tout sélectionner

<script language="javascript"> for (var i=0;i<villes.length;i++) { document.write(villes[i]["nom"]); } </script>
Mais maintenant, comment dire à ma chère boucle qu'elle doit prendre tous les noms de ville qui ont pour code postal par exemple 1370 ?
Et aussi ... :oops: comment on fait pour dire à ma liste que une fois choisi sa doit s'afficher juste à coté ?

Merci d'avance !!!