Hoy estoy con los datos extras (que muchos conocerán). Una excelente alternativa mucho mas eficiente que mysql_num_rows, es found_rows() de mysql. Se usa de la siguiente manera:
Código PHP:
$sql = "select SQL_CALC_FOUND_ROWS * from noticias"; #Se pone luego del select SQL_CALC_FOUND_ROWS
$r = mysql_query($sql );
$rTotal = mysql_query("select found_rows()");
$rsTotal = mysql_fetch_row($rTotal);
$total = $rsTotal[0];
mysql_free_result($rTotal);
Aunque no parezca es mucho más veloz y esta mejor preparado para esta tarea.