![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
09/08/2012, 12:41
|
| | Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 12 años, 6 meses Puntos: 0 | |
Respuesta: Re: ¿Rellenar un combobox a partir de otro? Cita:
Iniciado por xempro # index.php Código PHP: <?
$hostname_testing = "localhost";
$database_testing = "testing";
$username_testing = "testing";
$password_testing = "testing";
$testing = mysql_connect($hostname_testing, $username_testing, $password_testing) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_testing, $testing);
$query_combo1 = "SELECT * FROM municipios";
$combo1 = mysql_query($query_combo1, $testing) or die(mysql_error());
$row = mysql_fetch_assoc($combo1);
?>
<html>
<head>
<title>Combos</title>
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>
<body>
<form name="f1" method="post">
<select name="municipios" onChange="optionMuni();">
<option value="0">[ Seleccione ]</option>
<? do { ?>
<option value="<? echo $row['id_muni']?>"><? echo $row['nom_muni']?></option>
<? } while ($row = mysql_fetch_assoc($combo1)); ?>
</select>
<div id="localidad"><select><option>[ Seleccione ]</option></select></div>
</form>
</body>
</html>
<? mysql_free_result($combo1); ?>
# ajax.js Código HTML: function objetoAjax(){
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 optionMuni(){
divResultado = document.getElementById('localidad');
id_muni=document.f1.municipios.value;
ajax=objetoAjax();
ajax.open("POST", "localidad.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("id_muni="+id_muni)
}
# localidad.php Código PHP: <?
$hostname_testing = "localhost";
$database_testing = "testing";
$username_testing = "testing";
$password_testing = "testing";
$testing = mysql_connect($hostname_testing, $username_testing, $password_testing) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_testing, $testing);
mysql_select_db($database_testing, $testing);
$query_localidades = "SELECT localidades.id_local, localidades.nom_local FROM localidades WHERE localidades.id_muni=". $_POST['id_muni'];
$localidades = mysql_query($query_localidades, $testing) or die(mysql_error());
$row = mysql_fetch_assoc($localidades);
?>
<select name="localidades">
<option value="0">[ Seleccione ]</option>
<? do { ?>
<option value="<? echo $row['id_local']?>"><? echo $row['nom_local']?></option>
<? } while ($row = mysql_fetch_assoc($localidades));?>
</select>
<? mysql_free_result($localidades); ?> Espero te sirva. Sorry por el desorden, pero este script lo había publicado antes en otro sitio el cual al publicar alinea todo a la izquierda y ahora me dió flojera ordenarlo ![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png) barbaro!!! me has ayudado genial! ahora aplicarlo a mi proyecto, solo tube algo de problemas con el modo de conexion pero todo solucionado |