Hola derkanzler,
Le he echado un vistazo al codigo, y parece q la sintaxis no tienen errores.
Ahora bien, no consigo ver lo q quieres hacer. Segun lo que he podido entender, lo q hace el codigo antes del while es sacar un select con 6 opciones y selecciona aquella que es igual al primer registro de la consulta?
Y luego, en el while saca como opciones del select, todos los registros de la consulta y si no son nulos, selecciona la opcion.
UN CAOS NO????
O bien yo estoy un poco dormido (es la 1:17 AM), o el codigo esta un poco confuso.
Yo he probado el codigo con una tabla que tengo creada y a mi no me ha dado error. Aunque te vuelvo a repetir q no se muy bien lo q quieres hacer.
Si nos explicas un poco lo q intentas hacer, a lo mejor te podemos ayudar.
Un saludo.