Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/03/2005, 16:22
ricardo17
 
Fecha de Ingreso: marzo-2005
Ubicación: cd. victoria, tamps, mexico
Mensajes: 53
Antigüedad: 19 años, 1 mes
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