21/10/2005, 05:42
|
| | | Fecha de Ingreso: octubre-2003 Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 21 años, 2 meses 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 |