Foros del Web » Programando para Internet » PHP »

Paginar resultados de una consulta en Mysql

Estas en el tema de Paginar resultados de una consulta en Mysql en el foro de PHP en Foros del Web. Hola. Estoy intentando paginar los resultados de una consulta, hasta ahí todo bien, me he bajado ejemplos de internet y lo he aplicado, pero me ...
  #1 (permalink)  
Antiguo 04/12/2007, 11:17
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Paginar resultados de una consulta en Mysql

Hola.

Estoy intentando paginar los resultados de una consulta, hasta ahí todo bien, me he bajado ejemplos de internet y lo he aplicado, pero me he encontrado con un problema que no se resolver.

Creo los enlaces con
for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<b>".$pagina."</b> ";
} else {
echo "<a href='paginacion.php?pagina=$i'>$i</a> ";
}
}

Pues bien, los resultado se muestra en la misma página, pero resulta que arriba de ésta, tengo insertado elementos como Select option, checkbok, radio y radio y cuando se hace click en unos de las páginas, el valor de esta desaparece.

He estado usando la opcion POST, ya que son muchos elementos que uso y veo muy engorroso pasarlo todos por GET

¿como se puede pasar el valor de la página al pulsar en el enlace?

Si es necesario pongo el resto del código.

Gracias
  #2 (permalink)  
Antiguo 04/12/2007, 11:51
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: Paginar resultados de una consulta en Mysql

deberias hacerlo con javascript, habrias q cambiar esto

} else {
echo "<a href='javascript:paginacion($i)'>$i</a> ";
}


y crear una funcion js

function paginacion(pag){
location.href='?pagina='+pag+'&opt1='+getElementBy Id('opt1').value;
}

donde opt1 seria un combo o lo/s q quieras utilizar

despues obviamente los valores de los combos o el de paginacion deberias rescatarlos con el arreglo $_GET['opcion'];
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 04/12/2007, 12:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: Paginar resultados de una consulta en Mysql

Puedes crear un campo hidden con el valor de la página actual, y una funcion en javascript que al hacer click en una página cambie el valor del campo hidden y envie el formulario y en las otras páginas tendrás esos datos también, o capturar los datos al hacer click en una página y enviarlos por url también.
  #4 (permalink)  
Antiguo 04/12/2007, 13:20
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Re: Paginar resultados de una consulta en Mysql

He estado mirando esto y no me ha funcionado, pero me surje otra pregunta:

El problema que tengo es que tengo 20 controles arriba de la pagina que son la mayoria checkbox y combos.
Al recargar la pagina, (ya que se muestra en esta misma), lo recupero con $_POST['valor_del_check']; si todo estos controles, lo tuviera que pasar con get, me saldría un URL bastante largo y poco ortodoxo.

He pensado en poner un campo hidden que se almacene el numero de pagina al hacer click. Por ejemplo tengo las paginas: 1 2 3 4. Si hiciera click en el 3, se recarga la página y en el campo hidden almacenaria el valor 3, creo que haciendo esto ya tendría solventado mi problema.

Espero haberme explicado bien?

Gracias a todos.
  #5 (permalink)  
Antiguo 04/12/2007, 13:20
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Re: Paginar resultados de una consulta en Mysql

Este mensaje se me ha colado y no he podido eliminarlo.

...sorry
  #6 (permalink)  
Antiguo 04/12/2007, 17:23
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: Paginar resultados de una consulta en Mysql

Si, es má o menos lo que te dije. Aunque si necesitas posicionamiento eso no le viene nada bien, y si no lo necesitas quizás una solución con ajax sea más elegante.
  #7 (permalink)  
Antiguo 05/12/2007, 07:18
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Re: Paginar resultados de una consulta en Mysql

Muchas gracias Sanubrio, pero ¿como se pasa ese valor (de la pagina) a un campo hidden?

Ahí me he quedado.
  #8 (permalink)  
Antiguo 05/12/2007, 09:35
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: Paginar resultados de una consulta en Mysql

Código PHP:
echo '
<form name="nombre_del_formulario">
<input type="text" name="pagina_campo" id="pagina_campo" />
</form>
'
;

echo 
'
<script type="text/javascript">
//<![CDATA[

function irPagina(pagina)
{
    pagina_campo = document.getElementById("pagina_campo");
    pagina_campo.value = pagina;
    
    return false;
}
    
//]]>
</script> 
'
;

echo 
'
<a href="#"onClick="irPagina(1)">1</a> 
<a href="#"onClick="irPagina(2)">2</a> 
'

  #9 (permalink)  
Antiguo 05/12/2007, 12:02
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Sonrisa Re: Paginar resultados de una consulta en Mysql

ok, muchas gracias, lo probaré a ver que tal y te comento.

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 00:08.