Tenés que generar los cases de javascript de acuerdo a la base de datos...
Te pongo un ejemplo
Código PHP:
<?php
$query = mysql_query("SELECT pais, ciudad FROM ciudades") or die(mysql_error());
?>
<script language="JavaScript">
function cambia(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
switch (document.frm.pais.selectedIndex){
<?php
$actual = ""
while ($ciudad = mysql_fetch_assoc($query)) {
if ($ciudad['pais'] != $actual) {
if (!empty($actual)) { echo "break;"; }
$actual = $ciudad['pais'];
$pos = 0;
echo "case \"".$ciudad['pais']."\":";
}
addOpt(oCntrl, <?php echo $pos; ?>, "<?php echo $ciudad['ciudad']; ?>", "<?php echo $ciudad['ciudad']; ?>");
$pos += 1;
}
?>
}
</script>
Espero q se haya entendido y ande... la idea es q genere el código cno la base de datos