Page 1 sur 1

Formulaire ville ajouté automatiquement

Posté : 30 oct. 2006, 12:37
par X-NeM
Bonjour je voudrai a partir d'un champ code postal pouvoir remplir un champ ville automatiquement a partir d'une base de données deja remplis

il faut faire communiquer php et javascript
je débute

si vous avez un script ou un lien pouvant m'aider
merci

maj
le probleme deja a ce stade je n'arrive pas a afficher tout le tableau
je n'ai pas encore fait la recherche sur le code postal


dans mon cas un code postal ne correspond qu'a une ville
j'ai commencé le code je vais le mettre sur mon premier post
le code est lancé lorsque un evenement onblur est fait

Code : Tout sélectionner

<?php include_once "include/utils.php"; include_once SITE_INCLUDE_PATH."/db_connect.php"; require("modules/conversion.php"); $sql = "SELECT codePostal AS CP, ville AS V ". "FROM codePost ". "GROUP BY CP"; $recherche = mysql_query($sql); /* Création du tableau PHP des valeurs récupérées */ while($ligne = mysql_fetch_assoc($recherche)) { /* J'ajoute le code postal et la ville a la serialisation*/ $tab[] = array($CP => $V); //echo "Code postal".$CP." - Ville :".$V"; } $chaine = htmlspecialchars(serialize($tab), ENT_QUOTES); //echo array[06800]; echo $chaine; ?> <script language="Javascript"> /* <![CDATA[ */ <!-- /* * Ici, on transmets la chaîne sérialisée à JavaScript * pour la transformer en tableau indexé JavaScript */ <?php echo $chaine; ?> <script language="Javascript"> var tableau = new PhpArray2Js('<?php echo htmlspecialchars(serialize($tab), ENTQUOTES); ?>'); document.write("<pre>" + tableau.var_dump() + "</pre>"); </script>

Posté : 30 oct. 2006, 12:42
par holidays
Tu ne peux pas rentrer a partir d'un code postal une ville automatiquement, un code postal n'est pas un identifiant, il y a plusieurs ville qui ont le même code postal. Il faut donc que tu ajoute un autre code.

Posté : 30 oct. 2006, 12:46
par X-NeM
oui je vois
j'ai trouvé ca http://www.aidejavascript.com/article15 ... sommaire_1
mais ce sont deux listes
pr le code postal je voudrai en champ pas en liste

Posté : 30 oct. 2006, 12:54
par holidays
l'idéal si je comprend bien se que tu veux, serai, je pense une zone de texte ou tu tape ton code postal et dans une liste tu as les différent ville qui correspond. C'est ça que tu veux ?

Posté : 30 oct. 2006, 12:56
par X-NeM
l'idéal si je comprend bien se que tu veux, serai, je pense une zone de texte ou tu tape ton code postal et dans une liste tu as les différent ville qui correspond. C'est ça que tu veux ?
tout a fait

Posté : 30 oct. 2006, 13:00
par holidays
Et ben j'ai le même problème que toi

http://www.phpfrance.com/forums/voir_sujet-23728.php
au cas ou si ce que l'on ma dit peut te servir, c'est juste le sujet en dessous. Et si tu trouve une reponse ça m'interresse

Posté : 30 oct. 2006, 13:04
par X-NeM
yep merci

Posté : 30 oct. 2006, 13:07
par Ryle
Pourquoi ne pas faire un tableau associatif en javascript contenant villes et code postaux ? A la saisie d'un code postal de 5 caractères, il suffirait de parcourir le tableau pour trouver la ville correspondante :
<script language="javascript">
var villes = new Array();
villes[code1] = "Ville 1";
villes[code2] = "Ville 2";
...
</script>

<input type="text" name="cp" onKeyUp="if(this.value.length==5) document.getElementById('ville').value = villes[this.value];" value="" />

<input type="text" name="ville" id="ville" value="Ville" />

Posté : 30 oct. 2006, 14:20
par Invité
Pourquoi ne pas faire un tableau associatif en javascript contenant villes et code postaux ? A la saisie d'un code postal de 5 caractères, il suffirait de parcourir le tableau pour trouver la ville correspondante :
<script language="javascript">
var villes = new Array();
villes[code1] = "Ville 1";
villes[code2] = "Ville 2";
...
</script>

<input type="text" name="cp" onKeyUp="if(this.value.length==5) document.getElementById('ville').value = villes[this.value];" value="" />

<input type="text" name="ville" id="ville" value="Ville" />
oui pourquoi pas
mais ca ne va pas si j'ai plusieurs villes pr le meme code postal non?

Posté : 30 oct. 2006, 14:31
par X-NeM
Pourquoi ne pas faire un tableau associatif en javascript contenant villes et code postaux ? A la saisie d'un code postal de 5 caractères, il suffirait de parcourir le tableau pour trouver la ville correspondante :
<script language="javascript">
var villes = new Array();
villes[code1] = "Ville 1";
villes[code2] = "Ville 2";
...
</script>

<input type="text" name="cp" onKeyUp="if(this.value.length==5) document.getElementById('ville').value = villes[this.value];" value="" />

<input type="text" name="ville" id="ville" value="Ville" />
mais merci qd meme :)

Posté : 31 oct. 2006, 11:29
par X-NeM
le probleme aussi c que j'ai une base de donnée de code postal je ne dois pas faire autrement
je dois passer ma base de donnee en javascript

Posté : 31 oct. 2006, 12:33
par Ryle
Au temps pour moi, ça va effectivement poser problème si plusieurs villes sont associées à un même code postal. Mais du coup, quoi qu'il arrive tu ne pourras pas selectionner la ville en fonction du code postal quand tu en as plusieurs...

La solution proposé par Truc dans l'autre topic devrait donc te convenir. Il suffit de passer les codes en value de la liste et de filtrer par rapport à cet élément au lieu d'utiliser les noms.
Et s'il reste plusieurs possibilité l'utilisateur n'aura qu'à selectionné celle qui convient :)

Quant aux données de ta base, je ne vois pas où est le problème, il te suffit de récupérer ces infos et de construire ton html ou javascript avec lors de génération de la page en php, asp, jsp ou autre, selon ce que tu utilises :) Et si vraiment tu veux le faire en dynamique, il te reste l'ajax ;)

Posté : 31 oct. 2006, 14:38
par Invité
Au temps pour moi, ça va effectivement poser problème si plusieurs villes sont associées à un même code postal. Mais du coup, quoi qu'il arrive tu ne pourras pas selectionner la ville en fonction du code postal quand tu en as plusieurs...

La solution proposé par Truc dans l'autre topic devrait donc te convenir. Il suffit de passer les codes en value de la liste et de filtrer par rapport à cet élément au lieu d'utiliser les noms.
Et s'il reste plusieurs possibilité l'utilisateur n'aura qu'à selectionné celle qui convient :)

Quant aux données de ta base, je ne vois pas où est le problème, il te suffit de récupérer ces infos et de construire ton html ou javascript avec lors de génération de la page en php, asp, jsp ou autre, selon ce que tu utilises :) Et si vraiment tu veux le faire en dynamique, il te reste l'ajax ;)
dans mon cas un code postal ne correspond qu'a une ville
j'ai commencé le code je vais le mettre sur mon premier post

Posté : 31 oct. 2006, 18:22
par X-NeM
j'ai enfin reussi :)
merci a tous

Re: Formulaire ville ajouté automatiquement

Posté : 11 févr. 2011, 13:35
par Yannours76
Salut

Peux-tu partager ton code final stp ?