Foros del Web » Programando para Internet » PHP »

Problema con paginador:

Estas en el tema de Problema con paginador: en el foro de PHP en Foros del Web. Tengo este script: Código PHP: <? if( $buscar ){ // Incluimos todos los descargas if( $campo  !=  "" ){ echo  "<center>Resultados de la busqueda :</center><br>" ; } // Tomamos el total de descargas $archi  =  "descargas/contador.txt" ; $abrir  ...
  #1 (permalink)  
Antiguo 30/08/2010, 10:06
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Problema con paginador:

Tengo este script:

Código PHP:
<?
if($buscar){
// Incluimos todos los descargas
if($campo != ""){
echo 
"<center>Resultados de la busqueda :</center><br>";
}
// Tomamos el total de descargas
$archi "descargas/contador.txt";
$abrir fopen($archi,"r");
$total_descargas fread($abrirfilesize($archi));
fclose($abrir);
// Recogemos la informacion de cada archivo
for($bn=0;$bn<$total_descargas;$bn++){
if(
file_exists("descargas/$category/$bn.php")) {
include(
"descargas/$category/$bn.php");
// Comprobamos que la palabra coincide
if($campo != ""){
if(
eregi("$campo"$titulo_descarga)){
echo 
"<a href='descargas.php?e=$category/$bn'><li> $titulo_descarga</a></li>";
}
}
}
}
}
?>
           
<?
if($borrar && file_exists("descargas/$borrar.php")) {
$_GET["borrar"];
@include(
"descargas/$borrar.php");
// si el usuario borra un mensaje
if ($nick_descarga == $_COOKIE[ucnnick] or $_COOKIE[ucnnick] == $administador) {
@
unlink("descargas/$borrar.php") ;
@
unlink("descargas/$borrar.zip") ;
echo 
"<p>La descarga ha sido borrada con éxito. Haz click <a href=index.php?id=descargas>aquí</a> para regresar.<br>" ;
}
}
?>

<?php
if($category){ 
$web "descargas/$category";
}elseif(!
$category){  
$web "descargas/Accion"
}

$Config['Path'] = "$web";         // Directorio donde stan los archivos a mostrar.
$Config['Show'] = 1;             // Numero de archivos a mostrar por páginas.

$Show['20 Anteriores'] = 1;        // Por defecto no se mostrara 10 Anteriores
$Show['20 Siguientes'] = 0;        // Por defecto no se mostrara 10 Siguientes

if ($c == ""$c 0;            // Si $c no tiene valor es porque es la primera vez que se visita la página.
$dir = @opendir($Config['Path']);         // Abrimos el directorio donde estan los archivos
$Plus $c;                    // Le damos el valor de $c a $plus porque el valor de $c se perdera y lo necessitaremos mas 

tarde.

while (
$c && $elemento = @readdir($dir))        // Mientras la variable $c sea mayor de 0 saltamos archivos.
{
  
$Show['20 Anteriores'] = 1;
  
$c--;
}

$Counter 0;            // Ponemos a 0 el contador

// Si es la primera vez que vez añadimos 2 filas, si no lo es se las quitamos.
if ($Show['20 Anteriores'] == 0$Counter=$Counter-2; else {
  
$c 2;
  while (
$c && $elemento = @readdir($dir))        // Mientras la variable $c sea mayor de 0 saltamos archivos.
  
{
   
$Show['20 Anteriores'] = 1;
   
$c--;
  }
}

// Mostramos el numero de archivos que se tienen que mostrar por página.
while (($Counter != $Config['Show']) && ($elemento = @readdir($dir)))
{
  
$Counter++;
  
  
$elemento1 strtolower($elemento);
  
  if (
strpos($elemento1".php") > && $elemento != "index.php") {
   
// Asignamos el archivo sin extension
   
$elemento2 str_replace(".php","",$elemento);
?>
  <?
if(file_exists("$web/$elemento2.php")) {
require (
"$web/$elemento2.php");
   
// Dia
$diassemana = array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado") ;
$mesesano = array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic") ;
$diasemana date(w,$fecha) ; $diames date(j,$fecha) ; $mesano date(n,$fecha) - $ano date(Y,$fecha) ;
$fecha_descarga "$diassemana[$diasemana] $diames de $mesesano[$mesano] del $ano" ;
$descripcion_descarga str_replace("\r\n","<br>",$descripcion_descarga) ;
}
?>

<table
cellspacing="0" style="border-bottom:2px solid #777777;" width="100%">
<tr>
<td rowspan="3"><a href="game.php?e=<?
if($category == ""){
echo 
"Accion/";
}elseif(
$category == "Accion"){
echo 
"Accion/";
}
?><?php echo $elemento2 ?>" target="_blank"><img src="<? echo $image_descarga?>"></a></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="width: 240px;height:10;"><a class="title" href="game.php?e=<?
if($category == ""){
echo 
"Accion/";
}elseif(
$category == "Accion"){
echo 
"Accion/";
}
?><?php echo $elemento2 ?>" target="_blank"><? echo $titulo_descarga?></a>

<?
if($category == ""){
$barra "Accion/";
}elseif(
$category == "Accion"){
$barra "Accion/";
}
require(
"usuarios/".$_COOKIE['ucnnick'].".php");
if(
$rango >= 6) { echo "<a href='?borrar=$category$barra$elemento2&secciones=$category'><img src='/images/icons/cross.gif' 

style='position:Absolute;right:20px;'></a>
<a href='?s=edit&e=$category$barra$elemento2&secciones=$category'><img src='/images/icons/group_2.gif' 

style='position:Absolute;right:36px;'></a>"

        } 
        
?>


<img src="/images/icons/cat_9.gif" style="position:Absolute;right:10px;margin-top:2;"></td>
</tr>
<tr>
<td></td>
<td style="width: 240px;height:55;"><? echo 

$descripcion_descarga ?></td>
</tr>
</table>
  <?php
  
}
}
  
// Si sobran archivos pondremos el "10 Siguientes"
if ($elemento = @readdir($dir))
{
  
$Show['20 Siguientes'] = 1;
}

//Cerramos el directorio
@closedir($dir);
?>

<?php
// Mostraos si es necessario el "10 Anteriores" y "10 Siguientes".
if ($Show['10 Anteriores'] == 1) echo("<a 

href=\"index.php?id=descargas&c="
.($Plus-$Config['Show'])."&secciones=$category\">20 Anteriores | </a>");
if (
$Show['20 Siguientes'] == 1) echo("&nbsp;<a 

href=\"index.php?id=descargas&c="
.($Plus+$Config['Show'])."&secciones

=$category\">10 Siguientes</a></p>"
);
?>
El problema que tengo es que cuando publico nuevos juegos, los nuevos juegos se van quedando cada vez mas atrás, es decir, que envez de mostrar los ultimos juegos en la primera pagina, muestra los primeros añadidos, y los nuevos agregados se van quedando en otras páginas..

Por ejemplo yo publico 2 juegos, uno con ID 1 y otro con ID2, estos dos siempre saldrian en la primera pagina, pero apartir de 3 saldrían en otras páginas mas atras, y deverías ser alrvés..
  #2 (permalink)  
Antiguo 30/08/2010, 10:25
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Problema con paginador:

Hay varias funciones para ordenar tus arrays en forma ascendente/descendente. Empezando por sort().

Comentario aparte: sería muy bueno que separases el codigo php del codigo html. Se está volviendo muy dificil de leer, no? Considerá tener el php aparte, y procesar solamente arrays desde la sección html.
  #3 (permalink)  
Antiguo 30/08/2010, 11:07
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Problema con paginador:

Si, luego lo separaré, pero necesito saber como hacer que los muestre bien, pero esque ya está ordenado, solo que lo ordena alrebés.

Última edición por SeaPirates; 30/08/2010 a las 11:31

Etiquetas: paginador
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 23:15.