Tengo un pequeño problema con la función paginar, haber si alguien me puede echar un cable.
 
Tengo un archivo paginar.php con el texto siguiente:
 
<?   
class paginar {
	# Obtener el total de resultados
	function mostrar($a) {
		$this->mostrar = $a ;
	}
	function paginar($a) {
		$this->codigo = $a ;
		$con = mysql_query(eregi_replace('select (.+) from','select count(*) from',$this->codigo)) ;
		$this->total_resultados = mysql_result($con,0,0) ;
	}
	# Procesar el código SQL
	function procesar_codigo() {
		$this->total_pag = ceil($this->total_resultados/$this->mostrar) ;
		switch(true) {
			case $_GET[pag] < 1 :
				$_GET[pag] = 1 ;
				break ;
			case $_GET[pag] > $this->total_pag :
				$_GET[pag] = $this->total_pag ;
		}
		$desde = ereg('[0-9]+',$_GET[pag]) ? ($_GET[pag] - 1) * $this->mostrar : 0 ;
		$con = mysql_query($this->codigo." limit $desde,$this->mostrar") ;
		return $con ;
	}
	# Crear la URL evitando repetir varias veces la variable de página (ej. index.php?id=noticias&n=1&pag=1)
	function url() {
		foreach ($_GET as $nombre => $valor) {
			if ($nombre != 'pag') {
				$valor = urlencode($valor) ;
				$url .= "$nombre=$valor&" ;
			}
		}
		return $url ;
	}
	function crear_paginas() {
		# Para los que usan enlaces tipo 
www.pagina.com/?seccion=descargas
		if(strstr($_SERVER[PHP_SELF],'/index.php')) {
			$_SERVER[PHP_SELF] = str_replace('/index.php','/',$_SERVER[PHP_SELF]) ;
		}
		$max_paginas = 8 ;
		$url = $this->url() ;
		$pag_anterior = $_GET[pag] - 1 ;
		if($pag_anterior >= 1) {
			$paginas[] = "<a href=\"$_SERVER[PHP_SELF]?$url"."pag=1\" class=\"eforo\">Primera</a>" ;
			$paginas[] = "<a href=\"$_SERVER[PHP_SELF]?$url"."pag=$pag_anterior\" class=\"eforo\">«</a>" ;
		}
		if($this->total_pag > $max_paginas) {
			$this->total_pag_mostrar = $max_paginas ;
		}
		else {
			$this->total_pag_mostrar = $this->total_pag ;
		}
		$pag_desde = ($_GET[pag]-$max_paginas/2) ;
		if($pag_desde < 1) {
			$pag_desde = 1 ;
		}
		$pag_hasta = ($_GET[pag]+$max_paginas/2) ;
		if($pag_hasta > $this->total_pag) {
			$pag_hasta = $this->total_pag ;
		}
		for($a = $pag_desde ; $a <= $pag_hasta ; $a++) {
			$paginas[] = ($a != $_GET[pag]) ? "<a href=\"$_SERVER[PHP_SELF]?$url"."pag=$a\" class=\"eforo\">$a</a>" : $a ;
		}
		$pag_siguiente = $_GET[pag] + 1 ;
		if($pag_siguiente <= $this->total_pag) {
			$paginas[] = "<a href=\"$_SERVER[PHP_SELF]?$url"."pag=$pag_siguiente\" class=\"eforo\">»</a>" ;
			$paginas[] = "<a href=\"$_SERVER[PHP_SELF]?$url"."pag=$this->total_pag\" class=\"eforo\">Ultima</a>" ;
		}
		$paginas =
		'<table width="100%" border="0" cellpadding="0" cellspacing="0">
		<tr>
		<td>Páginas: <b>'.$this->total_pag.'</b></td>
		<td><div align="right">'.@implode(', ',$paginas).'</div></td>
		</tr>
		</table>
		' ;
		echo utf8_encode($paginas) ;
	}
}
?>  
Luego en el archivo en el que quiero que haga la paginacion pongo los siguientes textos: 
include("functions/paginar.php"); //incluyo archivo paginar 
$paginar = new paginar("select * from perfil where tablon='$_COOKIE[nick]' $ordenar_usuarios order by $ordenar") ;  //Realizo las busquedas de lo que quiero ordenar
# --> Número de resultados a mostrar
$paginar->mostrar("2") ;
$con = $paginar->procesar_codigo() ;    
<table width="99%"  border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><? $paginar->crear_paginas()?></td>
  </tr>
</table>   
El error que me muestra es el siguiente:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\miweb\functions\paginar.php on line 13 
Haber si alguien puede ayudarme, Muchas Gracias!