Foros del Web » Programando para Internet » PHP »

contador de paginas

Estas en el tema de contador de paginas en el foro de PHP en Foros del Web. Alguien me podria dar una idea de como tengo que hacer un contador de paginas con enlace incluido un ejemplo seria el de esta foro ...
  #1 (permalink)  
Antiguo 19/05/2011, 15:28
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
contador de paginas

Alguien me podria dar una idea de como tengo que hacer un contador de paginas con enlace incluido un ejemplo seria el de esta foro que se va incrementando en 1,2,3 segun mensajes bajan llegando yo quiero hacer esto alguien me podria dar una idea de como hacerlo?
  #2 (permalink)  
Antiguo 19/05/2011, 15:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: contador de paginas

Eso se conoce como paginador, te recomiendo busques en el Foro o Google hay muchas implementaciones.

Saludos.
  #3 (permalink)  
Antiguo 19/05/2011, 15:37
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: contador de paginas

vale intentare buscar gracias GatorV
  #4 (permalink)  
Antiguo 19/05/2011, 16:17
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: contador de paginas

he estado mirando ejemplos del paginator pero la verdad que no los comprendo ya que no se los pasos que hay que seguir alguien me podria explicar los pasos que hay que tomar saludos
  #5 (permalink)  
Antiguo 19/05/2011, 16:28
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 10 meses
Puntos: 61
Respuesta: contador de paginas

roboty , mira aca ahi uno bastante bueno y modificable http://jpinedo.webcindario.com/scripts/paginator/ lee la documentación

saludos
  #6 (permalink)  
Antiguo 19/05/2011, 20:04
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: contador de paginas

roboty, no es tan complicado como puede parecer.

Supongamos que por defecto queremos mostrar solo 10 registros por página. Así que ya tenemos una variable, la cantidad de registros a mostrar ($cantRegs = 10).

Luego queremos ir avanzando, es decir, que en la primera página muestre los primeros 10 registros, luego en la segunda página muestre los siguientes 10, y así sucesivamente. Esto a su vez es otra variable, la página en la que estamos actualmente ($pagActual = 1 [1 por defecto]).

Así que ahora hay que hacer el cálculo y definir la sintaxis de la consulta sql.

Variables :

Código PHP:
$cantRegs 10// 10 Registros por página
$pagActual = isset($_GET['pag']) ? (int)$_GET['pag'] : 1// Si la página en la que nos encontramos no se especifica por la URL, usamos el valor 1 por defecto. 
La consulta sql :

Código PHP:
// Esta consulta ...
SELECT FROM tabla LIMIT 10 OFFSET pag_actual*10
// ... es lo mismo que esta
SELECT FROM tabla LIMIT pag_actual*1010 
Donde pag_actual es la variable con el valor 1, 2, 3, etc. Esto hace que por cada página que avancemos, el número de la página se multiplique por 10, haciendo que la consulta tome 10 registros partiendo desde el registro 11, o desde el 21, dependiendo de la página en la que nos encontremos.


Cita:
La cláusula LIMIT puede usarse para restringir el número de registros retornados por el comando SELECT. LIMIT tiene uno o dos argumentos numéricos, que deben ser enteros positivos (incluyendo cero).

Con dos argumentos, el primer argumento especifica el desplazamiento del primer registro a retornar. El desplazamiento del registro inicial es 0 (no 1):

mysql> SELECT * FROM table LIMIT 5,10; # Retrieve rows 6-15

Por compatibilidad con PostgreSQL, MySQL también soporta la sintaxis LIMIT row_count OFFSET offset.



Por lo que finalmente tendríamos algo como esto :

Código PHP:
$cantRegs 10;
$pagActual = isset($_GET['pag']) ? (int)$_GET['pag'] : 1

// Me conecto a la BD

// Hago la consulta
$query sprintf("SELECT * FROM tabla LIMIT 10 OFFSET %d"$pagActual*10);
$query mysql_query($query) or die(mysql_error());

// Obtengo los resultados 

// Imprimo... 
Es tan simple coo eso. Luego para mejorarlo tendrías que agregar la típica numeración tipo google.

Espero haber sido claro. Saludos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 20/05/2011, 05:19
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: contador de paginas

me sale este error:
) Warning: mysql_query() expects parameter 1 to be string, resource given in C:\wamp\www\codigo_paginator.php on line 210

esta es la linea que esta en mi include:
Código PHP:
Ver original
  1. $_pagi_result3 = mysql_query($_pagi_sql);

y el error que me da mysql es este:
Error en la consulta de conteo alternativo de registros: Resource id #5. Mysql dijo:

matt_1985 este es el enlace que me distes tiene buena pinta pero no me funciona alguien me ayuda a entender porque no va?

Última edición por roboty; 20/05/2011 a las 10:30
  #8 (permalink)  
Antiguo 21/05/2011, 12:57
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: contador de paginas

Escribe la consulta. Ese es el error, pero debemos ver como has escrito la consulta para ver posibles errores.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 21/05/2011, 15:45
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: contador de paginas

spider_boy ya lo solucione gracias y saludos

Etiquetas: contador
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 12:54.