Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2008, 14:56
Avatar de sub_cero
sub_cero
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: tres combobox depedientes

Puedes hacerlo de la siguiente manera."submit()" puede ser una funcion en JavaScript para mandar a ejecutar el submit del formulario. Si no has seleccionado ningun pais no aparecen los estados ni las ciudades y si no has seleccionado un estado no aparecen las ciudades.

<form action="{$url}" method="post" enctype="application/x-www-form-urlencoded">
<!--Primer Combo-->
<?php
$conexion=mysql_connect($host,$user,$pass);
mysql_select_db($database_conexion, $conexion);

if(!isset($_POST['country']))
$_POST['country']=-1;

$Rc=mysql_query("SELECT id,name FROM countries ORDER BY name ASC",$conexion) or die("Error");
$row=mysql_fetch_assoc($Rc);
?>
<select class="letras" name="country" id="country" onChange="submit()">
<?php
if($row)
{
?>
<option value="-1" <?php if($_POST['country']==-1){echo 'selected="selected"';}?> >Selecione el Paises</option>
<?php
}
while($row)
{
?>
<option value="<?php echo $row['id'];?>" <?php if($_POST['country']==$row['id']){echo 'selected="selected"';}
?> ><?php echo $row['name'];?></option>
<?php
$row=mysql_fetch_assoc($Rc);
}
?>
</select>
<!-- Segundo Combo-->
<?php
if($_POST['country']>=0)
{
if(!isset($_POST['state']))
$_POST['state']=-1;

$Rc=mysql_query("SELECT id,name FROM states WHERE idpais=".$_POST['country'].
" ORDER BY name ASC",$conexion) or die("Error");
$row=mysql_fetch_assoc($Rc);
?>
<select class="letras" name="state" id="state" onChange="submit()">
<?php
if($row)
{
?>
<option value="-1" <?php if($_POST['state']==-1){echo 'selected="selected"';}?> >Selecione el Estado</option>
<?php
}
while($row)
{
?>
<option value="<?php echo $row['id'];?>" <?php if($_POST['state']==$row['id']){echo 'selected="selected"';}
?> ><?php echo $row['name'];?></option>
<?php
$row=mysql_fetch_assoc($Rc);
}
?>
</select>
<!-- Tercer Combo-->
<?php
if($_POST['state']>=0)
{
if(!isset($_POST['city']))
$_POST['city']=-1;

$Rc=mysql_query("SELECT id,name FROM cities WHERE idstate=".$_POST['state'].
" ORDER BY name ASC",$conexion) or die("Error");
$row=mysql_fetch_assoc($Rc);
?>
<select class="letras" name="city" id="city" >
<?php
if($row)
{
?>
<option value="-1" <?php if($_POST['city']==-1){echo 'selected="selected"';}?> >Selecione la Ciudad</option>
<?php
}
while($row)
{
?>
<option value="<?php echo $row['id'];?>" <?php if($_POST['city']==$row['id']){echo 'selected="selected"';}
?> ><?php echo $row['name'];?></option>
<?php
$row=mysql_fetch_assoc($Rc);
}
?>
</select>
<?php
}
?>
<?php
}
?>
</form>