Rechercher : dans
Par :

Ville(s) en fonction du code postal

Dernière réponse le 7 nov 2009 à 17:50:14 morgan24, le 19 fév 2009 à 11:39:38 
 Signaler ce message aux modérateurs

Bonjour,
Dans ma base de données MYSQL il y a dans la table distance toutes les villes, codes postaux et les localisations des villes en radians.
J'essaye de mettre un champs dans mon site qui propose le ou les villes lorsque on rentre le code postal, comme par exemple si je tape comme code postal 95000 (sans cliquer sur le bouton valider) cela me propose plusieurs propositions : CERGY, PONTOISE, NEUVILLE-SUR-OISE, BOISEMONT. (idem topannonces.fr)
Je suis novice et je ne sais absolument pas comment faire
Est-ce que quelqu'un pourrait m'aider ?
Merci d'avance

Configuration: Windows XP
Firefox 3.0.6

1

Matthieu E., le 19 fév 2009 à 11:47:27
  • +1

Il faut que programme en ajax.

Ca peut paraitre un compliquer au premier abord mais c'est pas bien dur.

Voila un petit exemple qui te permet de synchroniser une liste.

re

<?php

       $num=$_GET["num"];

       $idc=mysql_connect("localhost","root","");
       mysql_select_db("test_ajax",$idc);
       $sql="select * from t2 where num_pers=".$num;
       $rs=mysql_query($sql,$idc);
       print("<SELECT NAME=\"zl2\" SIZE=\"5\">");
       while($lg=mysql_fetch_assoc($rs))
       {
print ("<option value=\"".$lg["num"]."\">".$lg["v"]."</option>\n");
       }
       print("</SELECT>");
?>
<script language="javascript">
var httpRequest;
function recup_data()
{
       if (httpRequest.readyState == 4 && httpRequest.status == 200)
       {
       zl.innerHTML=httpRequest.responseText;
       }
}

function synchro_lst()
{
               if (window.XMLHttpRequest)
               { // Mozilla, Safari, ...
               httpRequest = new XMLHttpRequest();
               if (httpRequest.overrideMimeType)
                       {
               httpRequest.overrideMimeType('text/xml');
               }

               }
               else
               {
                       if (window.ActiveXObject)
                       { // IE
                       httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                       }
               }
               var num = document.frm["zl_pers"].value
               httpRequest.onreadystatechange = recup_data;
               httpRequest.open("GET", "recup_info.php?num="+num, true);
               httpRequest.send(null);

}
</script>
<html>
<FORM NAME="frm" METHOD="post" ACTION="fin.php">
Personnes<SELECT NAME="zl_pers" onchange="synchro_lst()">
<?php
       $idc=mysql_connect("localhost","root","");
       mysql_select_db("test_ajax",$idc);
       $sql="select * from personne";
       $rs=mysql_query($sql,$idc);
       while($lg=mysql_fetch_assoc($rs))
       {
print <<<del
               <OPTION VALUE="$lg[num_pers]">$lg[nom_pers]</OPTION>
del;
       }

?>
</SELECT><BR>
Sous table <div id="zl">
<SELECT NAME="zl2" SIZE=5>
</SELECT>
</div><BR>
<INPUT TYPE="submit" VALUE="Valider">
</FORM>
</html>

Répondre à Matthieu E.

2

vdb creation, le 19 fév 2009 à 11:50:02

Bonjour,
Pour faire ca il faut utiliser du javascript et de l'ajax qui te permetra de gerer l'affichage de la ville suivant le code postal rentrer.
Contacte moi par mail pour te donner un coup de main.

------------------------------------------------------------­--------------------
VDB CREATION
www.vdb-creation.com
www.vdb-creation.com/martine
www.piscine-helioseane.com

Répondre à vdb creation

3

 chris, le 7 nov 2009 à 17:50:14

Je viens de lire votre post pour le script (Ville(s) en fonction du code postal) je suis trés interressé avec une petite précision me concernant mon formulaire se trouve dans un fichier tpl.

Merci d'avance pour votre aide

Répondre à chris