Asi que primero creo una conexion a mi BD y meto todos los paises a la lista 1 llamada PAISES el cual tiene la opcion onChange que llama un javascript el cual llena la siguiente lista, Lista 2 llamada estados.
esta lista 2 deberia de llenarse con los estados que corresponden al pais elegido, pero si pongo que agregue el campo del nombre pareciera que tuviera error la pagina pk no hace nada (he puesto un alert) y si pongo cualquier otro campo de la tabla me funciona, que es lo que pasa?
Estructura de las tablas
Código:
Codigo PHP TABLA PAIS Codigo_pais Nombre_pais TABLA ESTADOS codigo_estado codigo_pais nombre_estado
Código PHP:
<?
$resultado=mssql_query("select * from pais order by nombre_pais",$enlace);
echo "<td> <select name='paises' onChange='componer_estados(this.value)'>";
printf("<option>--seleccione--</option>");
while($row = mssql_fetch_array($resultado))
{
printf("<option value='%s'> %s </option>",$row["codigo_pais"],$row["nombre_pais"]);
}
?>
Código PHP:
function componer_estados(cod_pais)
{
alert(cod_pais);
document.miformulario.estados.length=0;
document.miformulario.estados.options[0] = new Option("-- Seleccione --","","defaultSelected","");
var indice=1;
<?
$sql_estado = "SELECT * from estado";
$rs_estado = mssql_query($sql_estado,$enlace);
if(mssql_num_rows($rs_estado)>0)
{
while($row_estado = mssql_fetch_assoc($rs_estado))
{
?>
if(cod_pais=='<?=$row_estado["codigo_pais"]?>')
{
document.miformulario.estados.options[indice] = new Option("<?=$row_estado["nombre_estado"]?>","<?=$row_estado["codigo_estado"]?>");
indice++;
}
<?
}
}
?>
}
</script>