Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/05/2008, 09:05
vmac179
 
Fecha de Ingreso: julio-2007
Ubicación: /home/victor
Mensajes: 114
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problemas paginación postgres

chicos muchas gracias por sus respuestras, bueno les cuento encontré un LIMIT y creo que en postgres se usa el offset pero la pregunta es como se hace :D

Código PHP:
    function query($query)

    {

        
// Primero modificamos el query para averiguar la cantidad total

        // de registros que devuelve el query.

        
$query_count eregi_replace("select (.*) from""SELECT COUNT(*) FROM",$query);

        if(!
$this->rs( @pg_query($this->conn(),$query_count) ))

        {

            
$this->error("Ocurrió un error al ejecutar  la query weona <i><b>\"$query_count\"</b></i>. La base dijo: <b>" .pg_result_error()."</b>.");

            return 
false;

        }
// Fin If

        
$this->total( @pg_query($this->rs(),0) );

        
$this->totalPaginas(ceil($this->total() / $this->porPagina()));



        
// Comprobamos que no se intenta acceder a una página que no existe.

        
if( $this->pagina() > $this->totalPaginas() )

        {

            
$this->error("No exite la página ".$this->pagina()." de result. Hay solo un total de ".$this->totalPaginas());

            return 
false;

        }
// Fin If



        // Ahora modificamos el Query del usuario, para poder agregarle

        // los límites para realizar la paginación

        
$query .= " LIMIT ".($this->desde()-1).",".$this->porPagina();

        if(!
$this->rs( @pg_query($this->conn(),$query) ))

        {

            
$this->error("Ocurrió un error al ejecutar el query \"$query\". La base dijo : ".pg_result_error());

            return 
false;

        }
// Fin If

        
$this->registros(@pg_num_rows($this->rs()));

        return 
true;

    } 
// function 
Saludos...