Paginador con Php

Totality Leon

Piedra
Usuario de Piedra
Mensajes
33
Puntuación de reacción
0
Hola amigos, quisiera saber si me pueden colaborar para hacer el paginador, lo he intentado con varias paginas y nunca me sale y tengo que borrar todo el codigo ya he buscado , el forodelweb , wschool y php entre otras agradeceria mucho su ayuda gracias. :(
 
Mensajes
340
Puntuación de reacción
0
@Totality Leon Hola mandame MP con tu skype para ver como solucionamos tu problema. suerte
 
Mensajes
235
Puntuación de reacción
0
Declara las siguientes variables:

$page_actual = 1; // este lo mandas por GET en la URL $_GET['page'] //// DOMINIO.COM/?page=4 // Si no existe (isset) le das 1
$post_per_page = 50; // los articulos q mostraras en cada pagina.
$total_posts = 1267; // Has una consulta a tu BD de todos los articulos
EJEMPLO:
SELECT * FROM articulos
y jalas el numero de resultados (mysqli_num_rows)
$total_pages = 26; // Divide $TOTAL_POSTS / $POST_PER_PAGE y redondea hacia arriba con ceil( $valor )
$url = "http://dominio.com/?page="; // al final colocaras el numero de la pagina (esto es para los recuadros de |1|2|3|4|5|6| etc...
$apartir_de = 0; Esto lo sacas asi ($POST_PER_PAGE*$PAGE_ACTUAL)-$POST_PER_PAGE
EJEMPLO:
muestras 50 por pagina, y estas en la pagina 4 (50*4) = 200 (-50) = 150

Ahora finalmente haces la consulta para extraer solo esos 50 resultados dependiendo de la pagina que estes
"SELECT * FROM articulos ORDER BY id DESC LIMIT $apartir_de, $post_per_page"
y listo, solo recorres los resultados y los muestras.
EJEMPLO (lo que se veria sin las variables) (Esto es solo SIMULACION patra que entiendas mejor):
Si estas en la pagina 1: "SELECT * FROM articulos ORDER BY id DESC LIMIT 0,50"
Si estas en la pagina 2: "SELECT * FROM articulos ORDER BY id DESC LIMIT 50,50"
Si estas en la pagina 5: "SELECT * FROM articulos ORDER BY id DESC LIMIT 200,50"
Si estas en la pagina 10: "SELECT * FROM articulos ORDER BY id DESC LIMIT 450,50"
etc..
y ahora haces tu paginador
for($i=1;$i<=$total_pages;$i++) {

echo "<a href='$url.$i'>pagina $i</a>";

}

Esto imprimira
<a href="dominio.com/?page=1">pagina 1</a>
<a href="dominio.com/?page=2">pagina 2</a>
<a href="dominio.com/?page=3">pagina 3</a>
ETC...

Saludos.
 
Última edición:

Totality Leon

Piedra
Usuario de Piedra
Mensajes
33
Puntuación de reacción
0
Genial, muchas gracias @zoroRoronoa, me funciono, pero no logro poner que se muestren solos los 10 por pagina, me lo muestra todo ahi de unas.
 

Totality Leon

Piedra
Usuario de Piedra
Mensajes
33
Puntuación de reacción
0
@Totality Leon Hola mandame MP con tu skype para ver como solucionamos tu problema. suerte

amigo ya te envie el MP.

- - - Actualización- - -

Para ayudarte un poco más
Pon todo tu codigo incluyendo las sentencias SQL.
Saludos.

Amigo mira como lo puse, <?php
$page_actual=1;
$post_per_page=10;
$consultar_registro=mysql_query("SELECT * FROM todos_juegos WHERE categoria='ps2'");
$total_page=mysql_num_rows($consultar_registro);
$url="http://localhost/juego/ps2/?page=";
$cantidad=$total_page / $post_per_page;
ceil($cantidad);
$apartir_de=($post_per_page*$page_actual)-$post_per_page;
for ($i=1; $i<=$total_page; $i++) {
echo "<div id='paginador'><a id='paginado' href='$url$i'>| $i </a></div>";
}
?>
pero me muestra la cantidad entera y solo quiero mostrar 10 por paginas . es poco pero es haciendo las pruebas.
espero que puedas ayudarme Gracias!!..
 
Mensajes
235
Puntuación de reacción
0
amigo ya te envie el MP.

- - - Actualización- - -



Amigo mira como lo puse, <?php
$page_actual=1;
$post_per_page=10;
$consultar_registro=mysql_query("SELECT * FROM todos_juegos WHERE categoria='ps2'");
$total_page=mysql_num_rows($consultar_registro);
$url="http://localhost/juego/ps2/?page=";
$cantidad=$total_page / $post_per_page;
ceil($cantidad);
$apartir_de=($post_per_page*$page_actual)-$post_per_page;
for ($i=1; $i<=$total_page; $i++) {
echo "<div id='paginador'><a id='paginado' href='$url$i'>| $i </a></div>";
}
?>
pero me muestra la cantidad entera y solo quiero mostrar 10 por paginas . es poco pero es haciendo las pruebas.
espero que puedas ayudarme Gracias!!..

$total_pages, esta mal, los resultados de tu select (mysql_num_rows) van en $total_posts
y $total_pages es la division de $total_posts/$post_per_page

En el ECHO del paginator, no uses ID, usa CLASS, ya que no pueden existir 2 ID iguales.
Utiliza el sig codigo y me cuentas:

$page_actual = ( isset($_GET['page']) )? $_GET['page'] : 1 ;
$post_per_page = 10;

$consultar_registro=mysql_query("SELECT * FROM todos_juegos WHERE categoria='ps2'");
$total_posts = mysql_num_rows($consultar_registro);

$total_pages = ceil($total_posts/$post_per_page);
$url="http://localhost/juego/ps2/?page=";
$apartir_de = ($post_per_page*$page_actual)-$post_per_page;

for ($i=1; $i<=$total_pages; $i++) {
echo "<div class='paginador'><a class='paginado' href='".$url.$i."'> ".$i." </a></div>";
}
 

Totality Leon

Piedra
Usuario de Piedra
Mensajes
33
Puntuación de reacción
0
$total_pages, esta mal, los resultados de tu select (mysql_num_rows) van en $total_posts
y $total_pages es la division de $total_posts/$post_per_page

En el ECHO del paginator, no uses ID, usa CLASS, ya que no pueden existir 2 ID iguales.
Utiliza el sig codigo y me cuentas:

amigo y como le hago para que en el while funcione con el paginador?
 
Mensajes
235
Puntuación de reacción
0
amigo y como le hago para que en el while funcione con el paginador?

No coloco ningun while, coloco un for (se les llama loop o bucles)
Y haber, puedes pegar el codigo que usas para decirte en que estas mal, xq con el codigo que te deje, todo deberia funcionar perfectamente.
 

Totality Leon

Piedra
Usuario de Piedra
Mensajes
33
Puntuación de reacción
0
mira aqui te dejo una captura amigo , de lo que me falta por hacer
https://snag.gy/Duvnpc.jpg
solo falta que ese while que tengo arriba se muestre con la misma cantidad del paginador, no se si me doy a entender?
 
Mensajes
235
Puntuación de reacción
0
mira aqui te dejo una captura amigo , de lo que me falta por hacer
https://snag.gy/Duvnpc.jpg
solo falta que ese while que tengo arriba se muestre con la misma cantidad del paginador, no se si me doy a entender?

No entiendo nada las letras de las imagenes.

Tienes solo 1 articulo
y por ende por eso sale solo una pagina en el paginador

o dime cuantos articulos tienes en tu bd?

copia y pon tu codigo aqui please!
 
Arriba