ilk fonksitonda returndan sonraki echo çalışmaz.returnda dönen değeri $un_id=rastgele_unv() ; şeklinde alabilirsin.bunuda 2 fonksiyona
rastgele_fak($un_id) şeklinde gönderebilirsin.
Ek olarak : while yeni gördüm.function içinde array oluşturup çektiğiniz tüm verileri buna atayıp daha sonra arrayı return ederseniz daha iyi olur.yoksa bu şekilde sistem pek sağlıklı çalışmaz.