archivo combo.php
Código:
Archivo ajax.php<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"xhtml1-transitional.dtd">
<html>
<head>
<title>Sentido Web - Combo AJAX</title>
<script type="text/javascript">
// <![CDATA[
function ajaxobj() {
try {
_ajaxobj = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
_ajaxobj = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
_ajaxobj = false;
}
}
if (!_ajaxobj && typeof XMLHttpRequest!='undefined') {
_ajaxobj = new XMLHttpRequest();
}
return _ajaxobj;
}
function carga(val) {
var ajax = ajaxobj();
ajax.open("POST", "ajax.php", true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
var datos = (ajax.responseXML).firstChild;
var obj = document.getElementById("combo2");
for (var i=0; i<obj.options.length; i++) {
obj.removeChild(obj.firstChild);
}
for (var i=0; i<datos.childNodes.length; i++) {
var elem = datos.childNodes[i].firstChild.data;
obj.options[i] = new Option(elem);
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send("&val="+val);
}
// ]] >
</script>
</head>
<body >
<p>
<?php
include("conexion.php");
$link=conectar();
$consulta = "SELECT * FROM ciudad ORDER BY NOM_CIUDAD";
$resultado = mysql_query($consulta,$link);
?>
<select name="id_ciudad" id="id_ciudad" onchange="carga(this.value)">
<option value="" selected="selected">Seleccionar</option>
<?php
while($datos = mysql_fetch_array($resultado)){
?>
<option value="<?php echo $datos["ID_CIUDAD"] ?>"><?php echo $datos["NOM_CIUDAD"] ?></option>
<?php
}
mysql_close($link);
?>
</select>
<select id="combo2">
<option value="">Vacio</option>
</select>
</p>
</body>
</html>
Código:
<?php
$val = $_POST["val"];
$id_esta = array();
$nom_esta = array();
include("conexion.php");
$link=conectar();
$consulta = "SELECT * FROM establecimiento WHERE id_ciudad = '$val' ORDER BY id_esta";
$resultado = mysql_query($consulta,$link);
$j=0;
while($datos = mysql_fetch_array($resultado)){
$id_esta[]=$datos["ID_ESTA"];
$nom_esta[]=$datos["NOM_ESTA"];
$j++;
}
mysql_close($link);
$xml .= '<datos>';
for ($i=0; $i<=$j; $i++){
$xml .= '<valor>'.$nom_esta[$i].'</valor>';
}
$xml .= '</datos>';
header('Content-type: text/xml');
echo $xml;
/* $xml .= '<datos>';
for ($i=1; $i<=5; $i++) {
$xml .= '<valor>'.$val.'</valor>';
}
$xml .= '</datos>';
header('Content-type: text/xml');
echo $xml; */
?>

