Ok. allora metti dei punti di debug per capire se e' il while della seconda query oppure quello della terza.
metti un contatore settato a 1. poi lo incrementi, vedi quale ti rende 2
$primo=1;
$secondo=1;
while .... second select
echo $primo; $primo++;
SELECT
WHILE terza select
echo $secondo; $secondo++;