He realizado un programa con algunos codigos que aqui se han publicado, este es un formulario sensillo donde se ingresa nombre, apellido, etc, etc, pero al dar el codigo postal me llena los campos de Estado, Delegacion o municipio y Ciudad, mi problema reside en que no se como obtener el de colonia(Barrio o como le llamen) en un select multiple. A continuacion coloco el codigo para que lo revisen. lo que quiero es que cuando se de ingrese el codigo postal llene los campos de Estado, Delegacion o mpio, ciudad y si son varias colonias, mande un select multiple con las colonias y si es solo una colonia llene el campo de colonia. Espero ser claro.
algo.php
<?php
$v=$_POST["v"];
$conexion=mysql_connect("localhost", "root", "");
mysql_select_db("codigo_postal", $conexion);
$resultado=mysql_query("SELECT cp_estado, cp_delompio, cp_ciudad, cp_colonia FROM codigo_postal WHERE cp_codigo='$v' LIMIT 1");
$registro=mysql_fetch_row($resultado);
$xml="<?xml version='1.0' encoding='ISO-8859-1'?>";
$xml.="<datos>";
$xml.="<estado><![CDATA[$registro[0]]]></estado>";
$xml.="<delegacion><![CDATA[$registro[1]]]></delegacion>";
$xml.="<ciudad><![CDATA[$registro[2]]]></ciudad>";
$xml.="</datos>";
header("Content-type: text/xml");
echo $xml;
?>
prueba.php
<html>
<head>
<script language="javascript" type="text/javascript">
function nuevoAjax()
{
var xmlhttp=false;
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function traerDatos()
{
var cod=document.getElementById("cod").value;
var campo1=document.getElementById("c1");
var campo2=document.getElementById("c2");
var campo3=document.getElementById("c3");
var ajax=nuevoAjax();
ajax.open("POST", "algo.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("v="+cod);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
var respuesta=ajax.responseXML;
campo1.value=respuesta.getElementsByTagName("estad o")[0].childNodes[0].data;
campo2.value=respuesta.getElementsByTagName("deleg acion")[0].childNodes[0].data;
campo3.value=respuesta.getElementsByTagName("ciuda d")[0].childNodes[0].data;
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Ejemplo</title>
</head>
<body>
<form method="post" action="funciona.php">
<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tr>
<td style="width: 270px; text-align: left;"><strong> Nombre:</strong></td>
<td style="text-align: left;"><input type="text" name="nombre" ></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Apellido Paterno:</strong></td>
<td style="text-align: left;"><input type="text" name="apaterno" ></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Apellido Materno:</strong></td>
<td style="text-align: left;"><input type="text" name="amaterno" ></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Genero:</strong></td>
<td style="text-align: left;">
<select name="sexo" size="1" id="sexo" >
<option selected>Seleccione su genero</option>
<option value="Masculino" >Masculino</option>
<option value="Femenino" >Femenino</option>
</select>
</td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Reside:</strong></td>
<td style="text-align: left;">
<select name="reside" size="1" id="reside" >
<option selected>Seleccione donde Reside</option>
<option value="Zona metropolitana">Zona metropolitana</option>
<option value="Interior de la república mexicana">Interior de la república mexicana</option>
<option value="Extranjero">Extranjero</option>
</select>
</td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> E-mail:</strong></td>
<td style="text-align: left;"><input type="text" name="correo" ></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Codigo Postal:</strong></td>
<td style="text-align: left;"><input type="hidden" name="cp"><input name="cp" type="text" id="cod" Onchange="traerDatos();">
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Estado:</strong></td>
<td style="text-align: left;"><input type="text" id="c1"></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Delegacion o Mpio:</strong></td>
<td style="text-align: left;"><input type="text" id="c2"></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Ciudad:</strong></td>
<td style="text-align: left;"><input type="text" id="c3"></td>
</tr>
<tr>
<td style="width: 170px; text-align: left;"><strong> Colonia:</strong></td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
<tr>
<td style="text-align: right;"><input name="paso" type="submit" value="alta"> </td>
<td style="width: 170px; text-align: left;"><input name="reset" type="reset" value="Borrar"></td>
</tr>
</form>
</body>
</html>