Foros del Web » Programando para Internet » PHP »

Paginacion sin BD...

Estas en el tema de Paginacion sin BD... en el foro de PHP en Foros del Web. Que tal? Estoy haciendo una aplicacion y necesito hacer una paginacion sin bases de datos. Esta paginacion debe hacerce con todos los archivos que se ...
  #1 (permalink)  
Antiguo 22/06/2007, 18:21
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Paginacion sin BD...

Que tal?
Estoy haciendo una aplicacion y necesito hacer una paginacion sin bases de datos. Esta paginacion debe hacerce con todos los archivos que se encuentra en un directorio. Por ejemplo, tengo en un folder llamado "php/" con un contenido de 100 tutoriales, por lo que tengo que hacer es que me muestre todos los documentos que contiene esa carpeta pero que respete la paginacion, que me muestre unos 20 documentos.
Al listado de los archivos está realizado, lo que faltaria seria la paginacion...
Yo lo se hacer con base de datos, pero sin bd no tengo idea.
A ver si alguien me puede dar una mano...
Gracias.
__________________
Freelance - Aplicaciones Web
  #2 (permalink)  
Antiguo 22/06/2007, 18:28
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Paginacion sin BD...

Puedes poner el codigo que tienes, para que le implementemos la paginacion?

Un saludo
  #3 (permalink)  
Antiguo 22/06/2007, 18:42
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Bueno, no se si es tan necesario el codigo, porque con un ejemplo de paginacion me alcanzaria... bueno... a ver...

Código:
$gestor_directorio = opendir($ruta_del_directorio);
while($archivo_id = readdir($gestor_directorio))
{
echo "$archivo_id<br>";
}
Ahora, como podria desarrollar la paginacion?
Gracias...
__________________
Freelance - Aplicaciones Web
  #4 (permalink)  
Antiguo 22/06/2007, 19:37
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Paginacion sin BD...

Hombre, era un poco complicado, por que hay que hacer un condicional, para que no muestre los elementos que pasen del limite, osea, que se muestren los x ultimos, pero cuando ya has pasado paginas, tambien hay que hacer otro condicional, que lo que aga, es que no se muestren los x primeros, esos x, corresponde, al numero de elementos que se vallan a mostrar, menos, el numero de elementos que tenga como limite, cuando vea la funcion no se si la podra entender, pero, sentido tiene:

Código PHP:
$gestor_directorio opendir($ruta_del_directorio);
$a = empty($_GET['a']) ? $_GET['a'];
$limite 20;
$numero_elementos $limite $a;
$contador 0;
$primeros_elementos_eliminados $numero_elementos $limite;
while(
$archivo_id readdir($gestor_directorio))
{
if(
$contador $primeros_elementos_eliminados){
$contador++;
continue;
}
echo 
"$archivo_id<br>";
$contador++;
if(
$contador == $numero_elementos){
$a $a +1;
echo 
"<a href='pagina.php?a=$a'>Siguiente</a>";
break;
}

Espero que la pueda entender, si no es capaz de entenderla (y quiere entenderla) pregunte lo que quiera por el foro.

Un saludo
  #5 (permalink)  
Antiguo 22/06/2007, 19:58
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Paginacion sin BD...

Pienso que eso podrias hacerlo usuando arreglos.
Dependiendo de como quieres que se pagine armas todo. lo malo de esto es que todo lo tendras que cargar en una pagina y eso como que ara lenta la carga.
por ejemplo :
si tienes 100 tutoriales cargarias el arreglo con los 100 tutoriales.

$canMostrarXpagina=20;
$i=0;
$gestor_directorio = opendir($ruta_del_directorio);
while($archivo_id = readdir($gestor_directorio))
{
$i++;
$matrix[$i]=$archivo_id;
}

para sacar la cantidad de pagina pues. sacas dividiendo el total de archivos entre la cantidad de archivos que quieres mostrar.por pagina

$nroPaginas = count($matrix)/$cantidadArchivos;

for($i=0;$i<$nroPaginas;$i++){
$pag = ($canMostrarXpagina * $i) + 1 ;
echo "<a href='resultado.php?pagina=".$pag."'>".$i."</a>";
}

y para mostrar los resultados.pues haces esto:

$pagina = $_GET['pagina'];
for($i=$pagina;$i<=$canMostrarXpagina;$i++){
echo "Archivo : ".$matrix[$i] ;
}

Pues en si eso seria la idea que se me ocurre. disculpa si encuentras una comilla de sobra un punto y coma que falte pues lo hice a la volada y en el foro.
espero que te sirva la idea .
Nos vemos
  #6 (permalink)  
Antiguo 22/06/2007, 20:30
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Paginacion sin BD...

Hola de nuevo.
Bien tio el anterior ni lo mires , lo formatie y vi que le faltaron cositas jejej . pero muy pequeñas.

aqui te pongo el codigo formateado. (Haber si ahun te sirve )

<?php


$canMostrarXpagina=5;
$i=0;
$gestor_directorio = opendir($ruta_del_directorio);
while($archivo_id = readdir($gestor_directorio))
{
$i++;
$matrix[$i]=$archivo_id;
}

if($_GET['pagina'])
$pagina=$_GET['pagina'];
else
$pagina=1;

for($i=$pagina;$i<=($pagina+$canMostrarXpagina);$i ++){
if($matrix[$i])
echo "Archivo : ".$matrix[$i]."<br>" ;
}


$nroPaginas = count($matrix)/$canMostrarXpagina;

for($i=0;$i<$nroPaginas;$i++){
$pag = ($canMostrarXpagina * $i) + 1 ;
echo "<a href='paginador2.php?pagina=".$pag."'>".($i + 1 )."</a> ";
}


?>
  #7 (permalink)  
Antiguo 22/06/2007, 21:15
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Bueno, gracias a todos... espero seguir recibiendo respuestas... estoy en pleno desarrollo...

Otra cosa, y un buscador? de las mismas condiciones? que sea con directorios y sin bd...?
Gracias
  #8 (permalink)  
Antiguo 22/06/2007, 21:34
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

No funcionan ninguno... xDDD
EL ultimo script q me enviaste, funciona, pero al hacer clic en los numeros, nunca cambia, siempre me muestra los mismos resultados... no se porque...
  #9 (permalink)  
Antiguo 23/06/2007, 13:15
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Paginacion sin BD...

que raro que no te funcione ??

aqui puedes ver el codigo funcionando.

[www][perudetodo][com][/][codigo][/][paginador2][php]
  #10 (permalink)  
Antiguo 23/06/2007, 13:23
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Pues no... en realidad hace lo que tiene que hacer, pero al hacer clic en 2,o 3o o cualquiera la pagina no cambia, o sea, los documentos me sigue mostrando los primeros 5...
  #11 (permalink)  
Antiguo 23/06/2007, 14:26
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Paginacion sin BD...

eso ya mas me huele a tu servidor jejeje.

pues si lo miras aqui to funciona perfect.

[www][perudetodo][com][/][codigo][/][paginador2][php]

y en cuanto al buscador si ya lo tienes todo en un arreglo pues puedes hacer recorridos y todo buscando cadenas e ir separando los archivos que coincidan con el parametro que le mandes.
  #12 (permalink)  
Antiguo 23/06/2007, 14:35
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Paginacion sin BD...

Segun pude ver cuando hablaba con el, lo pone dentro de un while, y ese while hace algo que hace que falle, ya que mi codigo lo probe y funcionaba, pero, al situarlo en donde lo situa en su script, lo mete dentro de un loop o algo a si, y hace que no funcione, ya que mi codigo tambien funciona.

Un saludo
  #13 (permalink)  
Antiguo 23/06/2007, 14:48
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Esta en un while para que me muestre todo el directorio entero y no solamente el primer documento.. estoy viendo como arreglar eso, a ver que passa...
  #14 (permalink)  
Antiguo 23/06/2007, 14:55
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Paginacion sin BD...

Esque ese es el problema, eso ya lo hace el while que te ponemos, pero tu lo metes en otro, ese es el problema, cuando soluciones ese problema, tanto mi script como el de nuestro compañero te funcionara.

Un saludo
  #15 (permalink)  
Antiguo 23/06/2007, 15:18
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Que envidia... a ustedes le anda perfectamente,... a mi me parece q se cago el php... porque no funciona ahora... :S
Tratando de arreglar php... despues les digo como me fue...
Saludos
  #16 (permalink)  
Antiguo 24/06/2007, 13:21
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Paginacion sin BD...

Hola tio , bueno yo probe el codigo de Francisco01 y funciona perfectamente.
y no se como es que estaras usando el codigo que te ponemos.

Si deseas pon todo el codigo necesario que usas y lo vemos ok ??

pero lo que no entiendo tu hablas como si nuestro codigo haci como esta no funciona o me equivoco ??
porque si es haci es algo de servidor o tu php esta podrido jejejeje. porque los dos codigos funciona perfectamente.
  #17 (permalink)  
Antiguo 24/06/2007, 13:55
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Es muy raro... a mi no me funciona xDD
Es probable q este mal algo en mi codigo, porque muchas cosas funcionaban, y ahora dejaron de funcionar...
Ahora les dejo el codigo... dejenme buscarlo..

PD: Porque no anda ni el buscador ni la paginacion jajaj xD
  #18 (permalink)  
Antiguo 24/06/2007, 13:59
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Código:
<?php
$gestor = opendir($ruta);
while($archivo = readdir($gestor))
{
if (file_exists($ruta . $archivo)) 
{
?>
[...] otras tablas...  q no tienen influencia en el problema..
<?php
$canMostrarXpagina=5;
$i=0;
while($archivo = readdir($gestor))
{
if (file_exists($ruta . $archivo)) 
{
$i++;
$matrix[$i]=$archivo_id;
}
if($_GET['pagina'])
$pagina=$_GET['pagina'];
else
$pagina=1;

$nroPaginas = count($matrix)/$canMostrarXpagina;

for($i=0;$i<$nroPaginas;$i++){
$pag = ($canMostrarXpagina * $i) + 1 ;
echo "<a href='pagina.php?pagina=".$pag."'>".($i + 1 )."</a> ";
}
}
?>
[..]
<?php
}
}
?>
  #19 (permalink)  
Antiguo 24/06/2007, 14:25
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Paginacion sin BD...

Bueno... lo acabo de probar aparte a los dos scripts que tengo de Buscador y paginacion y ninguno de los dos funcionan...
Por lo visto... de donde proviene el problema si no es del script?
AYUDA URGENTE... --> no les estoy gritando... me estoy desesperando...
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 06:09.