Ver Mensaje Individual
  #20 (permalink)  
Antiguo 21/10/2005, 05:42
Avatar de Viet
Viet
 
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 1 mes
Puntos: 2
Código:
   1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   2. <
   3. html xmlns="http://www.w3.org/1999/xhtml" > <
   4. head> <
   5. title>Ciudad del Codigo Postal usando XmlHttpRequest</title> <
   6. script language="javascript"  type="text/javascript">
   7. var
   8. url = "getCityState.php?param="; // La direccion del archivo .php y el parametro que se le pasa
   9. var http = getHTTPObject(); // Esto crea el Objeto HTTP
  10. var enProceso = false; //Variable para saber si existe otro proceso en ejecucion
  11.
  12. function handleHttpResponse() {   if (
  13. http.readyState == 4) {     if (
  14. http.responseText.indexOf('invalid') == -1); {       
  15. // Use the XML DOM to unpack the city and state data       
  16.       
  17. var xmlDocument = http.responseXML;       var
  18. city = xmlDocument.getElementsByTagName('city').item(0).firstChild.data;       var
  19. state = xmlDocument.getElementsByTagName('state').item(0).firstChild.data;       
  20.       
  21. document.getElementById('city').value =  city;       
  22. document.getElementById('state').value = state;       
  23. enProceso = false;     
  24. //}     /*results = http.responseText.split(",");
  25.     document.getElementById('city').value = results[0];
  26.       document.getElementById('state').value = results[1];
  27.       enProceso = false;*/
  28.     //document.write ('da igual');
  29.   
  30. } }
  31.
  32. function
  33. updateCityState() {   if (!
  34. enProceso && http) {     var
  35. zipValue = document.getElementById("zip").value;     
  36. http.open ("GET", url + escape(zipValue), true);     
  37. http.onreadystatechange = handleHttpResponse;     
  38. enProceso = true;     
  39. http.send(null);   }
  40. }
  41.
  42. function
  43. getHTTPObject() {   var
  44. xmlhttp;   
  45. /*@cc_on   @if (@_jscript_version >= 5)
  46.     try {
  47.       xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  48.     } catch (e) {
  49.       try {
  50.         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  51.       } catch (E) {
  52.         xmlhttp = false;
  53.       }
  54.     }
  55.   @else
  56.   xmlhttp = false;
  57.   @end @*/
  58.   
  59. if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {     
  60. try {       
  61. xmlhttp = new XMLHttpRequest();       
  62. xmlhttp.overrideMimeType("text/xml");     }
  63. catch (e) {       
  64. xmlhttp = false;     }
  65.   }
  66.   return
  67. xmlhttp; }
  68.
  69.
  70. </script>
  71. </head> <body>
  72. <form action="post">
  73.   <p>
  74.   ZIP code:
  75.   <input type="text" size="5" name="zip" id="zip" onblur="updateCityState();" />
  76.   </p>
  77.   City:
  78.   <input type="text" name="city" id="city" />
  79.   State:
  80.   <input type="text" size="2" name="state" id="state" />
  81. </form>
  82. </body>
  83. </html>



y

Código:
     1. <?php
   2.
   3. /** * Conecta a la Base de Datos
   4. * Devuelve Falso si falla la conexion.
   5. * Asegurate de cambiar $database_name (nombre de la base de datos.
   6. *                         $database_username (nombre de usuario), and
   7. *                         $database_password (contraseña de usuario)
   8. *                         valores de las propiedades de tu base de datos
   9. **/
  10.
  11.
  12. function db_connect() {   
  13. $database_name = 'codigopostal'; // Pon el nombre de la base de datos   
  14. $database_username = 'root'; // Pon el nombre de tu usuario mysql   
  15. $database_password = 'seguro'; // Pon la contraseña de tu usuario mysql   
  16. $result = mysql_pconnect('localhost',$database_username, $database_password);   if (!
  17. $result) return false;   if (!
  18. mysql_select_db($database_name)) return false;   return
  19. $result; }
  20.
  21. $conn = db_connect(); // Conecta a la Base de Datos
  22. if ($conn) {   
  23. $zipcode = $_GET['param']; // Es el codigo postal que recoge   
  24. $query = "select * from zipcodes where zipcode = '$zipcode'";   
  25. $result = mysql_query($query,$conn);   
  26. $count = mysql_num_rows($result);   if (
  27. $count > 0) {     
  28. $city = mysql_result($result,0,'city');     
  29. $state = mysql_result($result,0,'state');   }
  30. }
  31. if (isset(
  32. $city) && isset($state)) {   
  33. // $return_value = $city . "," . $state;   
  34. $return_value = "<?xml version='1.0' standalone='yes'?><zip><city>".$city."</city><state>".$state."</state></zip>"; }
  35. else {  
  36.   
  37. $return_value = "invalid".",".$_GET['param']; // Include Zip for debugging purposes
  38. }
  39. header('Content-Type: text/xml'); echo
  40. $return_value; // This will become the response value for the XMLHttpRequest object
      ?>

saludos
__________________
Keep it simple and keep it fast.