Foros del Web » Programando para Internet » PHP »

ayuda con consulta...

Estas en el tema de ayuda con consulta... en el foro de PHP en Foros del Web. mmm creo que debi haber puesto mi duda aqui y no en javascript peo bueno espero que alguien me pueda ayudar.. Mi problema es que ...
  #1 (permalink)  
Antiguo 27/03/2005, 14:31
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Exclamación ayuda con consulta...

mmm creo que debi haber puesto mi duda aqui y no en javascript peo bueno espero que alguien me pueda ayudar..


Mi problema es que tengo dos listas (<select><option>), una es del pais y otra de los estados... mi problema es que cuando el usario seleccione el pais la otra lista tiene que mostrar los estados de dicho pais... pero con el detalle que los datos los que tengo que sacar de una base de datos(mysql).... no se si existe algun metodo estilo refresh en php o quizas en javascript gracias...
  #2 (permalink)  
Antiguo 27/03/2005, 16:22
 
Fecha de Ingreso: marzo-2005
Ubicación: cd. victoria, tamps, mexico
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
Hola, primero crea 2 tablas SQL

CREATE TABLE paises(
id int not null auto_increment,
pais varchar(60) not null,
KEY(id)
);

CREATE TABLE ciudades(
id int not null auto_increment
id_pais int not null,
ciudad varchar(60) not null,
KEY(id)
);

Despues, crea una pagina que se llame form.php para el formulario, y sigue los paso que a continuacion se citan....




<?php
/*Aqui agregas la conexion, recuerda que tienes que hacerla
Si no la haces no podra funcionar bien el formulario
*/
include("conexion.php");

?>
<html>
<head>
<title>FORMulario</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
/*
Aqui lo que estamos haciendo es simple, le estamos diciendo a nuestra pagina
form.php, le decimos que si la variable caso no se encuentra en la barra de direcciones
o esta vacia, significa que el visitante no a elegido un pais... y si no lo a elegido, pues
lo llevamos al bloque de default, que viene siendo la pagina que deben de visitar antes de
poder llevar al bloque de ciudades , que es ahi donde mostrara las ciudades de cada pais
dependiendo del pais seleccionado, sino se ha seleccionado el pais en el formulario
pues, lo que va pasar es que te va mandar al formulario para que escojas...
*/
switch($caso){
case 'ciudades':
?>
<form name="form1" method="post" action="form.php?idpais=<?php echo $id?>&pais=<?php echo $pais?>&caso=ciudades">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Pais</td>

<td>

<?php
//Seleccionamos todas las ciudades del pais que se haya elegido
$sql2 = mysql_query("SELECT * FROM ciudades WHERE id_pais='$idpais'");

//Seleccionamos todos los paises que se encuentren en la tabla paises
$sql = mysql_query("SELECT * FROM paises");

?>

<select name="pais2" id="pais2" onChange="MM_jumpMenu('parent',this,0)">
<?php
//Ahora imprimimos todos los paises en las opciones
//del select... a la hora de escoger un pais, te enviara
//a la misma pagina pero, con las ciudades de cada pais
while($fila = mysql_fetch_array($sql)){
$id = $fila["id"];
$pais = $fila["pais"];
?>
<option value="form.php?idpais=<?php echo $id?>&pais=<?php echo $pais?>&caso=ciudades"><?php echo $pais?></option>
<?php
}
?>
</select>

</td>
</tr>
<tr>
<td>Ciudad:</td>
<td><select name="ciudad">
<?php
//Ahora imprimimos todos las ciudades en las opciones
//del select...
while($fila2 = mysql_fetch_array($sql2)){
$ciudad = $fila2["ciudad"];
?>
<option><?php echo $ciudad?></option>
<?php
}
?>

</select></td>
</tr>
</table>
</form>
<?php
break;
default:
?>

<form name="form1" method="post" action="form.php?idpais=<?php echo $id?>&pais=<?php echo $pais?>&caso=ciudades">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Pais</td>
<td>

<?php
//Seleccionamos todos los paises que se encuentren en la tabla paises
$sql = mysql_query("SELECT * FROM paises");
?>
<select name="pais1" id="pais1" onChange="MM_jumpMenu('parent',this,0)">
<?php
//Ahora imprimimos todos los paises en las opciones
//del select... a la hora de escoger un pais, te enviara
//a la misma pagina pero, con las ciudades de cada pais
while($fila = mysql_fetch_array($sql)){
$id = $fila["id"];
$pais = $fila["pais"];
?>
<option value="form.php?idpais=<?php echo $id?>&pais=<?php echo $pais?>&caso=ciudades"><?php echo $pais?></option>
<?php
}
?>
</select></td>
</tr>
<tr>
<td>Ciudad:</td>
<td><select name="ciudad1" id="ciudad1">
</select></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>




Y eso es todo!! muy facil no_?

Si tienes dudas o algo sale mal avisame...

Saludos y Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:30.