To ja mam kilka możliwości:
1) dokładnie do tego co chcesz - rtrim()
2) optymalizacja tego co dał Zyx, by nie przechodził za każdym razem przez if-else co krok pętli. Jak? Na początku robisz mysql_num_rows
przed while. Jeśli 0 - zwracasz false (zabezpieczenie przed pustą listą), jeśli 1 -robisz mysql_fetch_* i zwracasz to jedno znalezione, jeśli większe od 1 wyciągasz pierwsze i lecisz normalnie z pętlą ( ale już bez sprawdzania pierwszego).
Dla wygody i przejrzystości, zamiast robić jakieś switche czy elseif można zrobić zagnieżdżony if na zasadzie:
if($ile>0) {
$nazwisko = $wynik['nazwisko'];
if($ile > 1) {
$nazwisko .= ', '.$wynik['nazwisko'];
}
}
return $nazwisko;
} else
return false;
W efekcie mamy tylko dwa sprawdzenia zmiennej $ile i pętle ewentualne nie przejmują się sprawdzeniem czy element jest pierwszy.