Nel while non puoi metterci la funzione sennò torna sempre il solito valore, e va in loop
poi non ho capito a cosa servono dato che le query sono uguali, fai prima senza funzioni
ad eseguire una sola volta la query e ciclare tutti i risultati