Foros del Web » Programando para Internet » PHP »

Paginación Elementos

Estas en el tema de Paginación Elementos en el foro de PHP en Foros del Web. Estoy tratando de agrupar los resultados de una paginación en grupo , si por ejemplo se me generan 8 grupos quiero dividir estos 8 grupos ...
  #1 (permalink)  
Antiguo 10/05/2012, 12:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 17 años
Puntos: 20
Exclamación Paginación Elementos

Estoy tratando de agrupar los resultados de una paginación en grupo , si por ejemplo se me generan 8 grupos quiero dividir estos 8 grupos en dos y mostrar 4 , 1 2 3 4 y luego darle a siguiente y mostrar 5 6 7 8 , etc

Actualmente tengo lo siguiente :

Cita:

<?php


$resultados="20";
$grupos_totales="4"
$páginas totales="ceil($resultado/$grupos_totales)"

if ($_REQUEST[page]=="" or $_REQUEST[page]=="0")
{
$ini="0";
$end="$grupos_totales";
}


for ($x=$ini;$x<$end;$x++)
{
print "<a href=?page=".($x).">".($x)."</a> ";
}

?>


De este modo se mostraría por ejemplo páginas de 1 a 4 en el sistema , es decir si tenemos por ejemplo 8 resultados y marcamos todo como que se muestren de dos en dos , deberia aparecer 1,2 siguiente 2,4 ..... y finalmente 7,8 si fuese mostrar 8 resultados de 4 en 4 sería 1234 y al darle a siguiente 5678 , etc
A ver que me podeís indicar un saludo a todos y gracias
  #2 (permalink)  
Antiguo 10/05/2012, 15:02
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: Paginación Elementos

La verdad es que hay mil formas de hacerlo, quiero creer que lo vas a hacer obteniendo lso resultados de la base de datos pero bueno, aca te dejo un ejemplo bastante sencillo pero vas a tener que leer, porque asi como tenes el codigo tiene errores de logica terribles, como es que pasa si $_REQUEST['page'] no es ni vacio ni 0, entonces jamas te crea la variables $ini y $end, asiqeu ojo con eso.

http://www.comolohago.cl/2008/11/19/...ltados-en-php/

Y si pretendes que lo hagamos nosotros vas al muere, porque falta mucha info y ademas son cosas que si lo pensas un poco mas salen solas, hacelo en papel de ultima hasta que le encuentres la logica.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 10/05/2012, 15:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 17 años
Puntos: 20
Respuesta: Paginación Elementos

El tema de la paginación no es para un consulta mysql , y no trato de paginar eso ya lo tengo , trato de crear grupos de paginación , y me falta digamos la funcionalidad para el caso en que el $_REQUEST no esté vacio , eso es principalmente , el resto me apaño bien , pero no consigo generar los grupos de paginación , en cuanto a lo de hacerme ..... no pretendo que me hagan nada , creo que estás equivocado en eso bastante , trato de que me aproten una idea e ir desarrollando , por eso no se si dentro del bucle hay alguna forma de hacer grupos o alguna funcionalidad especial que corte el mismo cada 5 o cada cierto numero , saludos
  #4 (permalink)  
Antiguo 10/05/2012, 15:16
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: Paginación Elementos

Cita:
Iniciado por fr1974 Ver Mensaje
El tema de la paginación no es para un consulta mysql , y no trato de paginar eso ya lo tengo , trato de crear grupos de paginación , y me falta digamos la funcionalidad para el caso en que el $_REQUEST no esté vacio , eso es principalmente , el resto me apaño bien , pero no consigo generar los grupos de paginación , en cuanto a lo de hacerme ..... no pretendo que me hagan nada , creo que estás equivocado en eso bastante , trato de que me aproten una idea e ir desarrollando , por eso no se si dentro del bucle hay alguna forma de hacer grupos o alguna funcionalidad especial que corte el mismo cada 5 o cada cierto numero , saludos
Coincido con linuxzero, lo que necesitas en ponerlo en papel y deducir la logica. No esperes que te hagan el codigo, asi no vas a aprender...a mover las neuronas
  #5 (permalink)  
Antiguo 10/05/2012, 15:27
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 1 mes
Puntos: 80
Respuesta: Paginación Elementos

Entiendo lo que quieres hacer, yo hice uno con ese sistema y le llame salto en bloques, te dejo el enlace para que veas el codigo haber si te da una idea de como hacerlo.


http://objetivophp.com/?p=183

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #6 (permalink)  
Antiguo 11/05/2012, 10:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 17 años
Puntos: 20
Exclamación Respuesta: Paginación Elementos

Código PHP:

<?php
$values
=array("1000","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1f","1end");
?>


<?php
$num_entradas_totales
="".count($values)."";
$num_entradas_por_pagina="35";
$num_paginas_totales="".ceil($num_entradas_totales/$num_entradas_por_pagina)."";

$grupos_de_paginacion="5";
$grupos_totales_de_paginacion="".ceil($num_paginas_totales/$grupos_de_paginacion)."";
?>

<?php
print "Entradas Totales : ".$num_entradas_totales."<br>";
print 
"Entradas por Página : ".$num_entradas_por_pagina."<br>";
print 
"Páginas Totales : ".$num_paginas_totales."<br>";
print 
"Grupos de Paginacion : ".$grupos_de_paginacion."<br>";
print 
"Grupos Totales de Paginación : ".$grupos_totales_de_paginacion."<br><br><br>";
?>


<?

$r
="".$_REQUEST['page']."";

if (
$r=="" or $r=="0" or $r<0)
{
$ini_page="0";
$end_page="".$num_entradas_por_pagina."";
}
?>

<?
if ($r>0)
{
$end_page="".($r*$num_entradas_por_pagina)."";
$ini_page="".($end_page-$num_entradas_por_pagina)."";
}

echo 
$ini_page;
echo 
$end_page;
?>


<?php
for ($i=$ini_page;$i<$end_page;$i++)
{
print 
"".$values[$i]."";
}

print 
"<br><br><br>";
?>












<?php


if ($_REQUEST['page']=="" or $_REQUEST['page']=="0" or $_REQUEST['page']<"0" or $_REQUEST['page']=="1")
{
$ini="1";
$end="".$grupos_de_paginacion."";
$prev="";
$next="<a href='?page=".($end)."'>Siguiente</a>";
}


if (
$_REQUEST['page']>&& $_REQUEST['page']<$num_paginas_totales)
{
$ini="".$_REQUEST['page']."";
$end="".($_REQUEST['page']+$grupos_de_paginacion)."";
$prev="<a href='?page=".abs($ini-$grupos_de_paginacion)."'>Anterior</a>";
$next="<a href='?page=".($end)."'>Siguiente</a>";
}

if (
$_REQUEST['page']>=$num_paginas_totales)
{
$ini="".($num_paginas_totales-$grupos_de_paginacion)."";
$end="".$num_paginas_totales."";
$prev="<a href='?page=".($ini-$grupos_de_paginacion)."'>Anterior</a>";
}

if (
$end>=$num_paginas_totales)
{
$ini="".($num_paginas_totales-$grupos_de_paginacion)."";
$end="".$num_paginas_totales."";
$prev="<a href='?page=".($ini-$grupos_de_paginacion)."'>Anterior</a>";
$next="<a href='?page=".($end)."'>Siguiente</a>";
}


if (
$ini<0)
{
$ini="0";
$end="".$grupos_de_paginacion."";
$prev="";
$next="<a href='?page=".($end)."'>Siguiente</a>";
}






print 
"$prev  ";

for (
$i=$ini;$i<=$end;$i++)
{
echo 
'<a href="?page='.$i.'">'.$i.'</a>';
}

print 
"  $next";

?>


Como me gusta compartir cosas que hago , aquí está mi paginación , se puede poner paginación de valores captados de un archivo plano o paginar entradas que se lean de un directorio como fotos , etc , se puede indicar el numero de elementos agrupados como de elementos a mostrar por cada página cambiando los valores , al contrario ..... de lo que "algunos opinan" o dicen mucha gente , aquí se entra para obtener ideas , de como hacer las cosas ..... no para que le hagan ningún trabajo , seamos un poquito ecúanimes .....


Un saludo , espero que les guste y se está abierto a cualquier modificación y ayuda que mejore el script , un saludo nuevamente

Etiquetas: elementos
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 14:13.