Foros del Web » Programando para Internet » PHP »

Paginación desde PHP (no desde la BD)

Estas en el tema de Paginación desde PHP (no desde la BD) en el foro de PHP en Foros del Web. Hola gente, Tengo que paginar una lista de 2500 usuarios. De hecho, la lista ya está paginada, pero mediante SQL (rollo select * from users ...
  #1 (permalink)  
Antiguo 13/09/2006, 04:13
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 2 meses
Puntos: 1
Paginación desde PHP (no desde la BD)

Hola gente,
Tengo que paginar una lista de 2500 usuarios.
De hecho, la lista ya está paginada, pero mediante SQL (rollo select * from users limit 180,10), pero claro, con tal cantidad de rows, la consulta tarda un webo y medio.

Así pues, habia pensado en crear un sistema de paginación mediante php (osea, q al final solo tengas que hacer select * from users where idUser>=180 and idUser<190), con lo que la consulta se aceleraría bastante.

La verdad esq me motiva bastante ponerme a hacerlo, la pua esq no tengo nada de tiempo últimamente, con lo que estaria infinitamente agradecido si alguien me linka un ejemplo ya hecho de paginación por php.

Un saludo chic@s!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"

Última edición por renton; 13/09/2006 a las 04:24
  #2 (permalink)  
Antiguo 13/09/2006, 07:14
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola

si quieres algo ya hecho, mirate el Paginator de jpinedo

Salud2
  #3 (permalink)  
Antiguo 13/09/2006, 11:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por renton Ver Mensaje
Hola gente,
Tengo que paginar una lista de 2500 usuarios.
De hecho, la lista ya está paginada, pero mediante SQL (rollo select * from users limit 180,10), pero claro, con tal cantidad de rows, la consulta tarda un webo y medio.

Así pues, habia pensado en crear un sistema de paginación mediante php (osea, q al final solo tengas que hacer select * from users where idUser>=180 and idUser<190), con lo que la consulta se aceleraría bastante.

La verdad esq me motiva bastante ponerme a hacerlo, la pua esq no tengo nada de tiempo últimamente, con lo que estaria infinitamente agradecido si alguien me linka un ejemplo ya hecho de paginación por php.

Un saludo chic@s!
mm LIMIT de SQL (de Mysql) ya hace eso .. es más te maneja el "puntero" de tu consulta SQL para entregarte los registros desde donde indiques con tal desplazamiento (hasta donde indiques+los registros que quieras).

Deberías colocar tu código .. así veremos como "páginas" tú. Por ejemplo .. hacer un "mysql_num_rows()" en un sistema de paginación es mucho más lento que usar su simil SQL: COUNT() .. (Así por ejemplo trabaja el recomendado "Paginator" que te han mencionado ya).

Ahí si cambias la forma de contar tus registros para ver el total y así definir tus páginas, veras un gran cambio.

También ayudan otro tipo de optimizaciones de tus tablas .. como por ejemplo indexación de tus campos llave (el "ID" típico), entre otras cosas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:06.