Una ejecución de una función mysql_fetch_xxx() obtiene el registro (en un objeto, array, row o como lo uses) y "MUEVE" el puntero una posición adelante en el resultado de tu consulta (record-set) ...
Por lo tanto .. lo que debes (si quieres usar la estructura que estas usando en tu código) es Mover el puntero una posición atras en tu "record-set" ...
Para eso usa la función:
mysql_data_seek()
(usalo antes de tu while() ...)
Más info .. Donde siempre:
www.php.net/manual/es
Un saludo,