elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema de paginación en MYSQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema de paginación en MYSQL  (Leído 1,926 veces)
johndi9

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema de paginación en MYSQL
« en: 12 Abril 2012, 15:52 pm »

Hola, buenos días.

Me encuentro realizando una base de datos con MYSQL y estoy intentando paginar los resultados.

Lo que uno se encuentra al entrar es un formulario, que realiza un post hacia la misma página mediante:

Código:
<form action = "" method = "POST">

            <input type = "text" name = "keywords" value="<?php echo $_POST['keywords']?>"/>

</form>

Con ello, mediante $_POST['keywords'] consigo que cada casilla mantenga el valor que se ha escrito en ella.



Ahora bien, cuando se me muestran los resultados, mando paginarlos mediante una función que me devuelve la paginacion mediante paso de variables por url, como por ejemplo:

Código:
$pagination.= "<li><a href='?page=$counter>$counter</a></li>";	

El problema que tengo, es que cada vez que realizo una búsqueda (se me quedan marcados los valores escritos en el formulario) y posteriormente pincho para ver la siguiente página de la búsqueda, me sale la siguiente página pero de todos los resultados, no de la búsqueda específica.

Es decir, no se porqué cada vez que pincho para ver la siguiente página de la búsqueda, se me borran los campos del formulario y coge la siguiente página pero de todos los resultados... No sé si alguien sabrá que es lo que ocurre... Pienso que es problema del href que no le estoy pasando una variable para que mantenga el valor el formulario, pero no se como se haría eso...

Muchas gracias de antemano!!


En línea

johndi9

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Problema de paginación en MYSQL
« Respuesta #1 en: 12 Abril 2012, 16:00 pm »

La función paginación por cierto, es la siguiente:

Código:
<?php

 
   function pagination($cadenapag, $per_page = 10, $page = 1){
   $url = '?';    
     $row = mysql_fetch_array(mysql_query($cadenapag));
     $total = $row['num'];
        $adjacents = "2";

     $page = ($page == 0 ? 1 : $page);  
     $start = ($page - 1) * $per_page;

     $prev = $page - 1;
     $next = $page + 1;
        $lastpage = ceil($total/$per_page);
     $lpm1 = $lastpage - 1;
    
     $pagination = "";
     if($lastpage > 1)
     {
     $pagination .= "<ul class='pagination'>";
                    $pagination .= "<li class='details'>Page $page of $lastpage</li>";
     if ($lastpage < 7 + ($adjacents * 2))
     {
     for ($counter = 1; $counter <= $lastpage; $counter++)
     {
     if ($counter == $page)
     $pagination.= "<li><a class='current'>$counter</a></li>";
     else
     $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";
     }
     }
     elseif($lastpage > 5 + ($adjacents * 2))
     {
     if($page < 1 + ($adjacents * 2))
     {
     for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
     {
     if ($counter == $page)
     $pagination.= "<li><a class='current'>$counter</a></li>";
     else
     $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";
     }
     $pagination.= "<li class='dot'>...</li>";
     $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
     $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";
     }
     elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
     {
     $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
     $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
     $pagination.= "<li class='dot'>...</li>";
     for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
     {
     if ($counter == $page)
     $pagination.= "<li><a class='current'>$counter</a></li>";
     else
     $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";
     }
     $pagination.= "<li class='dot'>..</li>";
     $pagination.= "<li><a href='{$url}page=$lpm1'>$lpm1</a></li>";
     $pagination.= "<li><a href='{$url}page=$lastpage'>$lastpage</a></li>";
     }
     else
     {
     $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
     $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
     $pagination.= "<li class='dot'>..</li>";
     for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
     {
     if ($counter == $page)
     $pagination.= "<li><a class='current'>$counter</a></li>";
     else
     $pagination.= "<li><a href='{$url}page=$counter'>$counter</a></li>";
     }
     }
     }
    
     if ($page < $counter - 1){
     $pagination.= "<li><a href='{$url}page=$next'>Next</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>Last</a></li>";
     }else{
     $pagination.= "<li><a class='current'>Next</a></li>";
                $pagination.= "<li><a class='current'>Last</a></li>";
            }
     $pagination.= "</ul>\n";
     }
    
    
        return $pagination;
    }
?>

Y $cadenapag es:

Código:
SELECT COUNT(*) as `num` FROM `inventario2` WHERE blablabla


« Última modificación: 12 Abril 2012, 16:05 pm por johndi9 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con paginacion PHP/MySQL
PHP
camdark 1 2,674 Último mensaje 14 Diciembre 2006, 20:01 pm
por Rk_PetIT
Ayuda cxon la paginacion de una busqueda en Mysql
PHP
webelgrillo 1 1,661 Último mensaje 15 Agosto 2008, 01:34 am
por Freeze.
[Solucionado]problema paginacion php+mysql « 1 2 »
PHP
CrÄsH 14 7,447 Último mensaje 5 Marzo 2009, 02:40 am
por Mr. Crowley
problema codigo paginacion « 1 2 3 »
PHP
soru13 22 8,151 Último mensaje 25 Julio 2010, 18:34 pm
por ~ Yoya ~
Paginación de consultas MySQL y PHP con PDO, con formulario de búsqueda
PHP
soldiermxdeath 2 4,626 Último mensaje 10 Agosto 2013, 06:17 am
por soldiermxdeath
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines