Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/11/2006, 04:54
Avatar de BonRouge
BonRouge
 
Fecha de Ingreso: noviembre-2006
Mensajes: 51
Antigüedad: 17 años, 6 meses
Puntos: 0
Puedes hacerlo con AJAX, un poquito como así:

cadenaselect.php
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "****://***.w3.org/TR/html4/strict.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
meta http-equiv="Content-Language" content="es">
<
title>cadena select</title>  
</
head
<
style type="text/css">

* {
margin:0;
padding:0;
}
body {
background-color:#fff;
}

</
style>

<
script type="text/javascript">
var 
request false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
request = false;
}
}
@end @*/
if (!request && typeof XMLHttpRequest != 'undefined') {
request = new XMLHttpRequest();
}

function 
ajaxSwitch(pais) {
var 
url "cadenaselect2.php?pais=" escape(pais);
request.open("GET"urltrue);
request.onreadystatechange go;
request.send(null);
}

function 
go() {
if (
request.readyState == 4) {
if (
request.status == 200) {
var 
response request.responseText;
document.getElementById("ciudad").innerHTML response;
   }
  }
}

function 
init() {
document.getElementById('pais').onchange=function() {
    
ajaxSwitch(this.value);
    }
}
window.onload=init;
</script>
<body> 
<form method="post" action="#">
<label>país: <select id="pais">
<option></option>
<option>Inglaterra</option>
<option>Estados Unidos</option>
<option>Australia</option>
</select></label>
<label>ciudad: <select id="ciudad"></select></label>
</form>

</body> 
</html> 
cadenaselect2.php
Código PHP:
<?php
function hazLo($pais) {
switch (
$pais) {
case 
"Inglaterra":
return array(
'Londres','Manchester','Birmingham','Liverpool','Leeds');
break;
case 
"Estados Unidos":
return array(
'Washington DC','Nueva York','Los Angeles''Chicago');
break;
case 
"Australia":
return array(
'Canberra','Melbourne','Sydney''Brisbane');
break;
 }
}

$pais=@$_GET['pais'];
$ciudades=hazLo($pais);
foreach (
$ciudades as $ciudad) {
    echo 
"<option>$ciudad</option>\n";
}

?>

Solo hay que intercambiar el select 'ciudad' con tu query MySql y el función 'switch' por otra query MySql.

Ejemplo: bonrouge.com/demos/cadenaselect.php