Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Post paginator para firebird

Hola gente.

Existe el famoso paginator para el mySQL que sirve para paginar las paginas cuando se tiene un SELECT con demasiados registros para mostrar por pagina.

Hay alguien que sepa si existe algo parecido para FIREBIRD en PHP ya creado?
Responder Con Cita
  #2  
Antiguo 07-12-2005
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

No se si existe, pero te aseguro que modificar el "paginator" para firebird no es nada complicado. Animate y haz algo por la comunidad libre.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #3  
Antiguo 07-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
lo estuve probando pero uso php 4. y el paginator usa la funcion num_rows del mysql y la misma funcion para ibase solo está disponible desde php 5.

No puedo cambiar mi php al 5 porque la mayoria de los servidores donde trabajo tienen el 4 y a veces no es compatible.

Pero si dices que es facil me cuentas como solucionar este problema y sigo probando jeje. Asi aportas algo para la comunidad libre
Responder Con Cita
  #4  
Antiguo 07-12-2005
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

La funcion mysql_num_rows() se puede sustituir por la sentencia SQL "SELECT COUNT()", otra alternativa sería contar "manualmente" con un simple bucle y un contador.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #5  
Antiguo 09-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Post

Hay en FIREBIRD alguna funcion que devuelva la cantidad de filas afectadas en el ultimo proceso?

Por ejemplo en SQL Server esta @@ROWCOUNT que hace eso.

Última edición por micayael fecha: 09-12-2005 a las 14:02:54.
Responder Con Cita
  #6  
Antiguo 15-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Hola Caye.

Hice el tema del paginator y salio bien creo yo.

Quiero subirlo aqui para que lo vean, prueben y si saben como mejorarlo me avisan para que podamos aprender todos y sacar algo bueno del tema.

Les digo lo que agregue.

Yo por ejemplo tengo un STORE PROCEDURE para una busqueda o listar filas de una tabla y otro que me arroje la cantidad total de filas (yo lo hago asi porque no uso php 5 y php 4 no tienen ibase_num_rows())

Entonces:
//-- SP que lista las filas = la consulta en si
$_pagi_sql = "SELECT * FROM SP_CATLIB_LISTAR";

//-- SP que extrae el total de filas de la misma consulta de arriba
$_pagi_sql_numrows = "SELECT NUMROWS FROM SP_NUMROWS_CATLIB";

//-- Esto lo hago porque el LIMIT del mySQL esta al final de la sentencia
//-- mientras FIREBIRD no tiene limit sino FIRST cantidad SKIP desde
$_pagi_from = "FROM SP_CATLIB_LISTAR";

//-- esto es lo que devuelve el ibase_connect();
$_pagi_link_identifier = $BdD;

//-- llamo al paginator arreglado
require("../../_php/paginator.inc.php");


Despues es todo normal. a demas de las variables que devuelve devuelve * $_pagi_filas_en_pagina :Cantidad de filas en la pagina actual
$_pagi_cantidad_pagina : Cantidad de paginas


El archivo php del paginator está en http://www.granodemostaza.org/tmp/paginator.inc.rar

Copio los SP a continuacion
Responder Con Cita
  #7  
Antiguo 15-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
este es le primer SP que lista lo que hay en una tabla CATEGORIA_LIBROS_T

CREATE PROCEDURE SP_CATLIB_LISTAR
RETURNS (
CATLIB_ID INTEGER,
CATLIB_COD VARCHAR(10),
CATLIB_DESCRIPCION VARCHAR(50))
AS
BEGIN
FOR SELECT CATLIB_ID, CATLIB_COD, CATLIB_DESCRIPCION
FROM CATEGORIA_LIBROS_T
INTO :CATLIB_ID,:CATLIB_COD, :CATLIB_DESCRIPCION DO
BEGIN
SUSPEND;
END
END


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Este es el segundo que devuelve la cantidad de filas de esa misma consulta

CREATE PROCEDURE SP_NUMROWS_CATLIB
RETURNS (
NUMROWS INTEGER)
AS
BEGIN
SELECT COUNT(CATLIB_ID)
FROM CATEGORIA_LIBROS_T
INTO :NUMROWS;
SUSPEND;
END



Si les interesa puedo poner un ejemplo sobre el tema. Si encuentran como mejorarlo les agradeceria que me lo cuenten..

Un abrazo a todos
Responder Con Cita
  #8  
Antiguo 16-12-2005
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola

TE LO HAS CURRADO!!!, voy a preguntar donde podemos poner el archivo dentro de club delphi.

Estaría bien que te pusieras en contacto con el creador de PAGINATOR y le hicieras saber que has realizados modificaciones para que funcione con firebird.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #9  
Antiguo 16-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Cita:
Empezado por kayetano
Hola

No se si existe, pero te aseguro que modificar el "paginator" para firebird no es nada complicado. Animate y haz algo por la comunidad libre.
Segui tu consejo nada más ;-)

Lo voy a hacer.
Responder Con Cita
  #10  
Antiguo 16-12-2005
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
Pues muy bien eso de currarse las cosas, y mejor si además las compartes, Kayetano, si me pasas el fichero a la dirección que tu sabes lo colgamos.
__________________
Saludos
Emilio
Responder Con Cita
  #11  
Antiguo 17-12-2005
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 21
kayetano Va por buen camino
Hola micayael

Puedes añadir un txt con los SP necesarios y con las modificaciones que has realizado ??

Crea este archivo txt añadelo al paquete rar, me dices de donde bajarloi y lo colgamos en la web de clubdelphi.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #12  
Antiguo 19-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Hola gente.

Actualize el archivo .rar en la misma direccion de arriba.

Esta el paginator modificado, el txt con el DDL de la tabla y los dos SP's y una pagina de ejemplo.

Un abrazo a todos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:26:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi