Listas desplegables con acceso a base de datos

alejandrita
10 de Mayo del 2003
Necesito hacer dos listas desplegables pero dependiendo de lo que seleccione en la primera se modifican los datos de la segunda (los datos de esta ultima deben ser leidos de una base de datos)

ej. en la primera lista selecciono el tipo de transporte que puede usar una empresa (avion o tren) dependiendo del tipo de transporte seleccionado quiero que la segunda lista muestre todos los nombres de empresas (que se encuentran almacenados en una base de datos) que prestan uno u otro servicio.
Desde ya agradezco a quien pudiera ayudarme

Leobardo
10 de Mayo del 2003
lo lo que hago, en el primer select uso el onchange para releer la página y le envio el valor del select y en base a este despliego los datos del segundo select, a ver si con el ejemplo te ayuda

// catalogos.php

<table>
<tr>
<td><font size=2>Departamentos</font></td>
<td>
<select name="id_depto" onChange=" if(options[selectedIndex].value)
window.location.href='<?=$PHP_SELF ?>?id_depto='+options[selectedIndex].value">
<?
// para conservar el valor del select id_depto
if ($id_depto=="" or $id_depto==0)
$slc_id_depto[0]="selected";
else
$slc_id_depto[$id_depto]="selected";

$sql="SELECT * FROM depto";
$r=mysql_query($sql,$link);
?>
<option <?=$slc_id_depto[0] ?>>TODOS</option>
<?
whie ($d=mysql_fetch_array($r))
{
echo "<option value='$d[id]' ".$slc_id_depto[$d[id]].">$dp[descri]</option>";
}
</select>
</td>
</tr>
<tr>
<td><font size="2">Fallas</font></td>
<td>
<select name="id_tipo">
<?
if ($id_depto=="")
$id_depto=0;

$sql="SELECT * FROM tipos";

if ($id_depto!=0)
$sql.=" WHERE id_depto='$id_depto'";

$r=mysql_query($sql,$link);
whie ($t=mysql_fetch_array($r))
{
echo "<option value='$t[id]'>$t[descri]</option>";
}
</select></td>
</tr>

cada que cambia el valor de id_depto se actualiza la pagina y se filtra la información para el valor de id_tipo, espero te sirva