I problemi che ho io sono:
1) come testare se sulla combo è stata fatta una selezione (e chiaramente devo estrarne il contenuto)
utilizzi il metodo "onchange" di javascript sulla combo: questo permette di "cattuarare" e gestire l'evento di selezione della combo

2) fare in modo che quando seleziono una riga della combo, riparta un refresh che mi faccia rieseguire le select distinct per le altre 2 combo (nel caso non sia già stata effettuata una scelta da parte dell'utente)
Tramite "onchange" richiami una funzione javascript che esegue una chiamata asincrona (AJAX) in modo da modificicare il contenuto delle altre due combo dinamicamente e sulla base di quanto selezionato sulla prima combo. Per fare questo basta che cerchi sul web un esempio di utilizzo di AJAX, ce ne sono milioni, tipo:

http://www.w3schools.com/Ajax/Default.Asp