Hola, otra vez,
parece ser que no me he explicado muy bien (gracias josemi por la aclaracion).
Exactamente, como dice josemi, tu utilizas un do..while y yo te he puesto un while {...}. Si quieres seguir utilizando el do while, solo tienes que mover la linea donde aparece el echo <a... dentro de ese bloque do...while. De todos modos yo te recomendaria que utilizaras el while (a secas), aunque no se exactamente si tu do while lo utilizas para algo en especial...
Y lo de "pintar" el enlace, queria decir que colocaras esa linea echo <a ... dentro del bloque del do while (o while a secas).
Bueno, espero que ahora si que me haya explicado bien...
un saludo paisanos.