Foros del Web » Programando para Internet » PHP »

Insertar enlaces anterior y siguiente en paginacion

Estas en el tema de Insertar enlaces anterior y siguiente en paginacion en el foro de PHP en Foros del Web. Hola, antes que nada Gracias desde ya!!! Tengo un codigo en el que estoy intentando insertar un par de enlaces de (<< Anterior y Siguiente ...
  #1 (permalink)  
Antiguo 08/08/2003, 13:16
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 15 años, 1 mes
Puntos: 2
Insertar enlaces anterior y siguiente en paginacion

Hola, antes que nada Gracias desde ya!!!


Tengo un codigo en el que estoy intentando insertar un par de enlaces de (<< Anterior y Siguiente >>) para una paginación de resultados, no para de darle vueltas al código y no veo la manera..., a ver si alguien me da una idea..., a continuación pego el código.

Código PHP:
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio "";
if (
$_GET["BUSCADOR"]!=""){
    
$txt_criterio $_GET["BUSCADOR"];
    
$criterio " where Claves like '%" $txt_criterio "%'";
}

//Limito la busqueda
$TAMANO_PAGINA 5;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina $_GET["pagina"];
if (!
$pagina) {
        
$inicio 0;
        
$pagina=1;
}
else {
    
$inicio = ($pagina 1) * $TAMANO_PAGINA;
}

//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql "select * from buscador" $criterio;
$rs mysql_query($ssql,$conn);
$num_total_registros mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);

//pongo el número de registros total, el tamaño de página y la página que se muestra
if(mysql_num_rows($rs) <> ){
echo 
"Número de registros encontrados: " $num_total_registros "<br>";
echo 
"Se muestran páginas de " $TAMANO_PAGINA " registros cada una<br>";
echo 
"Mostrando la página " $pagina " de " $total_paginas "<p>";
}else{
echo 
"No se ha encontrado ninguna coincidencia con la cadena "$_GET['BUSCADOR'];
}


//construyo la sentencia SQL
$ssql "select * from buscador " $criterio " limit " $inicio "," $TAMANO_PAGINA;

$rs mysql_query($ssql);

while (
$fila mysql_fetch_object($rs)){
    echo 
$fila->Titulo "<br>";
    echo 
$fila->Descripcion "<br>";
}
//cerramos el conjunto de resultados y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conn);


//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas 1){
   for (
$i=1;$i<=$total_paginas;$i++){
        if (
$pagina == $i){ 
            
//si muestro el índice de la página actual, no coloco enlace
            
echo $pagina " ";
        }else{
            
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
            
echo "<a href='index.php?pagina=" $i "&criterio=" $txt_criterio "'>" $i "</a> ";
        }    
    }


Un saludo.
  #2 (permalink)  
Antiguo 08/08/2003, 15:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Es sencillo. Dentro del if que muestra los enlaces, haces dos ifs (uno antes de todos los otros enlaces y otro despues). El enlace de anterior solo lo mostraras cuando $pagina sea mayor que 1. Y el enlade siguiente solo cuando $pagina es menor que $total_paginas. Los enlaces correspondientes seran a $pagina-1 y $pagina+1.

El codigo seria:
Código PHP:
//muestro los distintos índices de las páginas, si es que hay varias páginas

if ($total_paginas 1){

  if (
1<$pagina) {
    echo 
"<a href='index.php?pagina=" . ($pagina-1) . "&criterio=" $txt_criterio "'>&lt; Anterior</a> ";
  }

   for (
$i=1;$i<=$total_paginas;$i++){

        if (
$pagina == $i){ 

            
//si muestro el índice de la página actual, no coloco enlace

            
echo $pagina " ";

        }else{

            
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página

            
echo "<a href='index.php?pagina=" $i "&criterio=" $txt_criterio "'>" $i "</a> ";

        }    

    }

  if (
$total_paginas>$pagina) {
    echo 
"<a href='index.php?pagina=" . ($pagina+1) . "&criterio=" $txt_criterio "'>Siguiente &gt;</a> ";
  }



si el calor no ha dañado mis neuronas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 08/08/2003, 16:56
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 15 años, 1 mes
Puntos: 2
Gracias Josemi, como siempre en tu línea ayudando a la peña xdd.


Un saludo.
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 07:20.