se supone que el <select/> debe quedar fuera del bucle, así como lo tienes ahora te lo repite todo...
Código PHP:
// MAL
while (/* ... */)
{
// <select/>
}
si lo piensas, lo único que debes repetir es el <option/> y no todo completo!!
Código PHP:
// BIEN
echo '<select>';
while (/* ... */)
{
// <option/>
}
echo '</select>';