anzitutto nel tuo script devi modificare
while ($riga)
con
while ($riga = mysql_fetch_array($result))
-----
inoltre all'interno del ciclo while esegui un ulteriore query che dovrebbe invece essere gestita tramite una JOIN del tipo:
codice:
SELECT
genere.descrizione AS genere,
sottogenere.descrizione AS sottogenere
FROM genere
LEFT JOIN sottogenere ON genere.id= sottogenere.idGenere
ORDER BY genere.descrizione
-----
vedi se <OPTGROUP> può fare al caso tuo
-----
se devi fare due select distinte in cui la seconda select è popolata in base alla scelta della prima ti servirà ajax (cerca sul web select concatenate ajax).
In questo caso è fortemente consigliato utilizzare jquery.