Yo resolví ese problema generando arreglos en javascript con los contenidos de mi tabla mysql (del tipo select *).
Código PHP:
$sql="SELECT id,id_ciudad,nombre,estrellas FROM hotel";
$db= new db_dataweb;
$db->connect();
$db->query($sql);
echo("<script language='JavaScript' type='text/javascript'>");
echo("var hoteles=new Array();");
$i=0;
echo("hoteles[0]=new Array(0,0,'Todos',0);");
$i++;
while ($db->next_record()){
$id_hotel=$db->f("id");
$nombre=$db->f("nombre");
$id_ciudad=$db->f("id_ciudad");
$id_categoria=$db->f("estrellas");
echo("hoteles[".$i."]=new Array(".$id_ciudad.",".$id_hotel.",'".$nombre."',".$id_categoria.");");
$i++;
}
echo("</script>");
Siguiendo el ejemplo, cada vez que cambia la opcion seleccionada del SELECT de ciudades (evento onChange), se vuelve a crear el SELECT de hoteles, filtrando este arreglo.
Esa es la idea......
si quieres me contactas y te paso el código completo
Saludos
Victoria