Problemas en paginacion.

  • Autor Autor Usuario eliminado 27864
  • Fecha de inicio Fecha de inicio
U

Usuario eliminado 27864

Hola gente tengo un problema muy grave que digamos 🙂

Yo no soy bueno en programacion y espero que recurriendo a este foro me podriais ayudar.

Se trata de un script que estoy diseñando y veo que no tiene paginacion es decir que si busco la palabra "a" me salen 40 o mas peliculas las que tenda agregada y no me sale la paginacion de 1-2-3-4 teniendo cada pagina 8 o 10 películas, entendéis que quiero decir?

ejemplo: esta pagina al poner Ver animes del género Accin Sub Español | Descargar animes del género Accin | Anime Gratis - AnimeFLV salen los animes y su paginacion, pero la mia no sale 🙁
sabeis como puedo integrar o crear ese sistema de paginacion?

Espero que me ayudeis porque sin eso no puedo seguir 🙁
 
¿Tienes la página online? si es así ¿Cuál es la URL?

Lo que yo haría sería un count() en la base de datos, a raíz de ahí te dirá que hay X películas (17 por ejemplo), sabiendo eso y queriendo tener por cada página 4 películas haces una división ( 17 / 4 ) y te dará el número de páginas que tendrías.

PD: En este caso da 3,5, que redondeando al alza sería 4 páginas/paginación.
 
¿Todo el PHP ese lo hiciste vos o lo bajaste del algún lado? En la base de datos no parece haber ninguna tabla con datos de la configuración del sistema, por lo que descartamos que esté allí la solución. Respecto a lo otro, tendrías que agregarle la paginación en el query a la base, hay varias formas de hacerlo ayudandote con las variables $_SESSION y $_GET.
 
Pues con la paginación puedes hacer que por cada página se muestren X cantidad de resultados, tanto en la consulta SQL como en el php y el HTML:

para hacer el cálculo fácilmente te dejo ésta función (ejemplo debajo
PHP:
/**
 * Calcular el paginado para las consultas MySQL
 * @param int $page Número de página
 * @param int $limit Límite de resultados por página
 * @return array
 * @author Cody Roodaka <roodakazo@hotmail.com>
 */
function paginate($page, $limit)
 {
  return array((($page - 1) * $limit), ($page * $limit));
 } // function paginate();

$pagina = 1; // Número de página, podría ser (int) $_GET['page']; sin problemas.
$pelis_x_pagina = 10; // Cantidad de pelis por pagina

$limits = paginate($pagina, $pelis_x_pagina);

$sql = 'SELECT * FROM tu_tabla_de_peliculas LIMIT'.$limits[0].', '.$limits[1];
Eso hará que la consulta se ejecute desde X resultado hasta Y.

Clase Paginadora PHP
Ésta es mi clase personal para paginado de resultados (puedes comprobar que es de mi autoría ya que tiene mi nombre por todos lados xD)

2LrJx.png

Así sería el resultado (obviamente tú puedes mejorarlo con CSS, pero el punto es que se genera de manera automática)

Para obtener una cantidad de filas SQL puedes hacer la siguiente consulta:
PHP:
$sql = 'SELECT (DISTINCT(id)) AS total FROM tu_tabla_de_peliculas';
// Hacemos un fetchrow en el camino y tendríamos el resultado de la siguiente manera:
$result['total'];


---------- Post agregado el 02-may-2013 hora: 17:06 ----------

Domo: Resultado de la Busqueda | CiberAnime

si como tu lo dices es facil, pero llevo mas de 5 horas leyendo etc.. y no soy capaz de conseguirlo.

os lo podeis descargar y mirarlo mas detalladamente.

script: Script Anime 2.0 By Zeku69.rar

base de datos vacia: Base de datos Vacía.rar

base de datos llena: Base de datos Completa.rar

Muchas gracias quien me este ayudando...
Un consejo:
Ten cuidado cuando pases códigos de tu autoría, te diría que los retires porque alguien con tiempo libre podría ponerse a buscar (y encontrar) vulnerabilidades para atacar tu web cuando esté online.
 
Última edición:
Pues con la paginación puedes hacer que por cada página se muestren X cantidad de resultados, tanto en la consulta SQL como en el php y el HTML:

para hacer el cálculo fácilmente te dejo ésta función (ejemplo debajo
PHP:
/**
 * Calcular el paginado para las consultas MySQL
 * @param int $page Número de página
 * @param int $limit Límite de resultados por página
 * @return array
 * @author Cody Roodaka <roodakazo@hotmail.com>
 */
function paginate($page, $limit)
 {
  return array((($page - 1) * $limit), ($page * $limit));
 } // function paginate();

$pagina = 1; // Número de página, podría ser (int) $_GET['page']; sin problemas.
$pelis_x_pagina = 10; // Cantidad de pelis por pagina

$limits = paginate($pagina, $pelis_x_pagina);

$sql = 'SELECT * FROM tu_tabla_de_peliculas LIMIT'.$limits[0].', '.$limits[1];
Eso hará que la consulta se ejecute desde X resultado hasta Y.

Clase Paginadora PHP
Ésta es mi clase personal para paginado de resultados (puedes comprobar que es de mi autoría ya que tiene mi nombre por todos lados xD)

2LrJx.png

Así sería el resultado (obviamente tú puedes mejorarlo con CSS, pero el punto es que se genera de manera automática)

Para obtener una cantidad de filas SQL puedes hacer la siguiente consulta:
PHP:
$sql = 'SELECT (DISTINCT(id)) AS total FROM tu_tabla_de_peliculas';
// Hacemos un fetchrow en el camino y tendríamos el resultado de la siguiente manera:
$result['total'];


---------- Post agregado el 02-may-2013 hora: 17:06 ----------


Un consejo:
Ten cuidado cuando pases códigos de tu autoría, te diría que los retires porque alguien con tiempo libre podría ponerse a buscar (y encontrar) vulnerabilidades para atacar tu web cuando esté online.



Muchísimas gracias por intentar ayudarme, pero llevo casi 1 dia entero haciendo todo lo posible, pero soy incapaz de conseguirlo, me estoy desesperando jajaj, ya que yo no soy programador ni nada parecido soy un mero diseñador que si le dan una pagina en blanco la transforma en algo bonito, pero nada de php ni binculaciones he estado biendo muchos videos de cursos de php y mysql y nada...

Y sobre el script todo el mundo lo tiene 🙁
no podrias hacerme el favor de montar esa paginacion justo en ese script y pasar los archivos? me arias muy feliz :welcoming:

Gracias por ayudarme...
 
Yo haría la paginación usando la palabra OFFSET en las consultas SQL. Así según la página que estés, el OFFSET tendrá un valor u otro.

Por ejemplo, con diez registros por página:
Página 1 -> OFFSET = 0
Página 2 -> OFFSET = 10
Página 3 -> OFFSET = 20
Página 4 -> OFFSET = 30
Página 5 -> OFFSET = 40
Página 6 -> OFFSET = 50
...

Esto hará que si el usuario se encuentra en la página 4, la consulta descarte los 30 primero registros que devuelve la consulta SQL y empiece a mostrar desde el número 31 hasta el 40 (siempre que el LIMIT sea igual a 10). Para calcular dinamicamente el OFFSET sería -> offset = (nº pagina - 1) * 10

Espero que te sirva.
 
Muchísimas gracias por intentar ayudarme, pero llevo casi 1 dia entero haciendo todo lo posible, pero soy incapaz de conseguirlo, me estoy desesperando jajaj, ya que yo no soy programador ni nada parecido soy un mero diseñador que si le dan una pagina en blanco la transforma en algo bonito, pero nada de php ni binculaciones he estado biendo muchos videos de cursos de php y mysql y nada...

Y sobre el script todo el mundo lo tiene 🙁
no podrias hacerme el favor de montar esa paginacion justo en ese script y pasar los archivos? me arias muy feliz :welcoming:

Gracias por ayudarme...
Uhmm ahora estoy algo atareado con un exámen de economía más tarde.. por la noche lo veré bien 🙂

Yo haría la paginación usando la palabra OFFSET en las consultas SQL. Así según la página que estés, el OFFSET tendrá un valor u otro.

Por ejemplo, con diez registros por página:
Página 1 -> OFFSET = 0
Página 2 -> OFFSET = 10
Página 3 -> OFFSET = 20
Página 4 -> OFFSET = 30
Página 5 -> OFFSET = 40
Página 6 -> OFFSET = 50
...

Esto hará que si el usuario se encuentra en la página 4, la consulta descarte los 30 primero registros que devuelve la consulta SQL y empiece a mostrar desde el número 31 hasta el 40 (siempre que el LIMIT sea igual a 10). Para calcular dinamicamente el OFFSET sería -> offset = (nº pagina - 1) * 10

Espero que te sirva.

Una interesante aplicación, ojalá la hubiera conocido hace un año, antes de hacer todo mi sistema así xD +1 🙂

Un saludo, suerte
 
Yo haría la paginación usando la palabra OFFSET en las consultas SQL. Así según la página que estés, el OFFSET tendrá un valor u otro.

Por ejemplo, con diez registros por página:
Página 1 -> OFFSET = 0
Página 2 -> OFFSET = 10
Página 3 -> OFFSET = 20
Página 4 -> OFFSET = 30
Página 5 -> OFFSET = 40
Página 6 -> OFFSET = 50
...

Esto hará que si el usuario se encuentra en la página 4, la consulta descarte los 30 primero registros que devuelve la consulta SQL y empiece a mostrar desde el número 31 hasta el 40 (siempre que el LIMIT sea igual a 10). Para calcular dinamicamente el OFFSET sería -> offset = (nº pagina - 1) * 10

Espero que te sirva.


Muchas gracias por la informacion 🙂 pero no consigo hacerlo.




Uhmm ahora estoy algo atareado con un exámen de economía más tarde.. por la noche lo veré bien 🙂



Una interesante aplicación, ojalá la hubiera conocido hace un año, antes de hacer todo mi sistema así xD +1 🙂

Un saludo, suerte

Espero impaciente 🙂 mientras aprenderé un poco mas sobre el php 🙂
 
¿Que es lo que no consigues exactamente?
 
¿Que es lo que no consigues exactamente?

Pues los números para la siguiente pagina, es decir la parte de mostrar X cantidad he podido hacerlo, pero que tenga numero 1-2-3-4 y que cada pagina tenga distintos resultados no consigo hacerlo.
 
Has hecho una clase para la paginación? Yo actualmente lo tengo como un clase porque queda mucho mas ordenado. De todas formas, creo que lo mejor es que nos pasaras el código para echarle un ojo.
 
Has hecho una clase para la paginación? Yo actualmente lo tengo como un clase porque queda mucho mas ordenado. De todas formas, creo que lo mejor es que nos pasaras el código para echarle un ojo.


No se hacer eso, uff esdemasiado para mi, pero me alegro estoy aprendiendo almenos un poco de php.

y sobre el codigo fuente si claro asta puedes descargar todo el script:

script: Script Anime 2.0 By Zeku69.rar

base de datos vacia: Base de datos Vacía.rar

base de datos llena: Base de datos Completa.rar

Muchas gracias por ayudarme...

---------- Post agregado el 05-may-2013 hora: 18:23 ----------

UP aun no logro hacer eso 🙁
 
Hola [MENTION=27864]LastHall[/MENTION],

Voy a echarle un ojo al código y te cuento.

Ops! Estoy en el trabajo y no puedo descargar de mediafire. En casa lo miro.
 
Hola [MENTION=27864]LastHall[/MENTION],

Voy a echarle un ojo al código y te cuento.

Ops! Estoy en el trabajo y no puedo descargar de mediafire. En casa lo miro.

Ok muchas gracias ya llevo 3 dias sin poder hacer la paginacion, me estoy desesperando jaja
 
El código que me has enviado debe funcionar solo con la base de datos, verdad?.

Voy a verlo! :encouragement:
 
El código que me has enviado debe funcionar solo con la base de datos, verdad?.

Voy a verlo! :encouragement:

Si claro es un script entero...

---------- Post agregado el 08-may-2013 hora: 17:00 ----------

Up aun no he podido lograrlo :grumpy:
 
Amigo, me puedes decir como se llama la tabla de donde recuperas los elementos?
 
Si no se el nombre de la tabla ni el nombre de los campos de la misma, cómo se la fecha de las chicas? Necesito hacer una función que realice la consulta a la base de datos y calcule la fecha de nacimiento respecto a la actual.
 
Atrás
Arriba