Hola he encontrado esta interesante programacion pero no se como hacer para que funcione con los datos de una bbdd.
<FORM name="form1">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">
<select name="campo1" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>Selecciona Marca</option>
<option>Audi</option>
<option>Seat</option>
</select>
<select name="campo2" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value="" selected>----------------------</option>
</select>
<select name="campo3" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value="" selected>----------------------</option>
</select>
<script>
<!--
var grupos=document.form1.campo1.options.length
var grupo=new Array(grupos)
for (i=0; i<grupos; i++)
grupo[i]=new Array()
grupo[0][0]=new Option("----------------------"," ");
grupo[1][0]=new Option("Seleciona Modelo"," ");
grupo[1][1]=new Option("A3","A3");
grupo[1][2]=new Option("A4","A4");
grupo[2][0]=new Option("Seleciona Modelo"," ");
grupo[2][1]=new Option("Leon","Leon");
grupo[2][2]=new Option("Ibiza","Ibiza");
var temp=document.form1.campo2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<grupo[x].length;i++){
temp.options[i]=new Option(grupo[x][i].text,grupo[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}
var grupos2=document.form1.campo2.options.length
var grupo2=new Array(grupos)
for (i=0; i<grupos; i++) {
grupo2[i]=new Array(grupo[i].length)
for (j=0; j<grupo[i].length; j++) {
grupo2[i][j]=new Array() }}
grupo2[0][0][0]=new Option("----------------------"," ");
grupo2[1][0][0]=new Option("----------------------"," ");
grupo2[1][1][0]=new Option("Seleciona una Serie"," ");
grupo2[1][1][1]=new Option("TDi 130 CV","1");
grupo2[1][1][2]=new Option("AMBITTION TDi 110","2");
grupo2[1][2][0]=new Option("Seleciona una Serie"," ");
grupo2[1][2][1]=new Option("AVANT 1.9 TDi","3");
grupo2[1][2][2]=new Option("AVANT 1.9T QUATTRO","4");
grupo2[2][0][0]=new Option("----------------------"," ");
grupo2[2][1][0]=new Option("Seleciona una Serie"," ");
grupo2[2][1][1]=new Option("1.8 20vt","5");
grupo2[2][1][2]=new Option("1.9 TDi SPORT","6");
grupo2[2][2][0]=new Option("Seleciona una Serie"," ");
grupo2[2][2][1]=new Option("1.8 5 Puertas","7");
grupo2[2][2][2]=new Option("SDI ESTRELLA","8");
var temp1=document.form1.campo3
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<grupo2[document.form1.campo1.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(grupo2[document.form1.campo1.options.selectedIndex][y][i].text,grupo2[document.form1.campo1.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
function redirect2(z){
window.location="http://www.dominio.com?ID=" + temp1[z].value
}
//-->
</script>
</td>
</tr>
</table>
</FORM>