esta es la funcion, probe sacandola del while pero al sacarla del while es cuando me repite el ultimo registro de la fecha en todos los comentarios

espero que alguien me pueda ayudar, gracias...
Código PHP:
$result = mysql_db_query($database, "select * from comentarios WHERE bid = '$username' order by id desc LIMIT $RegistrosAEmpezarr, $RegistrosAMostrarr",$con) or die (mysql_error());
if (mysql_num_rows($result)) {
while ($qry = mysql_fetch_array($result)) {
$date = $qry[fecha];
function nicetime($date)
{
if(empty($date)) {
return "No date provided";
}
$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$unix_date = strtotime($date);
// check validity of date
if(empty($unix_date)) {
return "Bad date";
}
// is it future date or past date
if($now > $unix_date) {
$difference = $now - $unix_date;
$tense = "ago";
} else {
$difference = $unix_date - $now;
$tense = "from now";
}
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
if($difference != 1) {
$periods[$j].= "s";
}
return "$difference $periods[$j] {$tense}";
}
$fecha = nicetime($date);