Foros del Web » Programando para Internet » PHP »

Problema con la paginacion

Estas en el tema de Problema con la paginacion en el foro de PHP en Foros del Web. Hola: Tengo el siguiente problema: tengo hecha una clasificacion de mis usuarios que esta condicionada por el valos $colegio. La primera parte la hace bien, ...
  #1 (permalink)  
Antiguo 09/01/2013, 01:57
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Problema con la paginacion

Hola:

Tengo el siguiente problema: tengo hecha una clasificacion de mis usuarios que esta condicionada por el valos $colegio.

La primera parte la hace bien, muestar a los usuarios primeros clasificados, pero cunado quiero saltar a la segunda pagina, "pierde" la condicion necesaria para ahcer la busqueda, entiende que el valor $colegio esta vacio o en blanco.

Alguna idea?

Código PHP:

<?php 
 
include('../conexcion.php');
session_start(); 
   
            
$colegio trim($_POST['combo3']);


    
$registros 1;

    if(!
$_GET['pagina']){
        
$inicio 0;
        
$_GET['pagina'] = 1;
    }else{
        
$inicio = ($_GET['pagina'] - 1) * $registros;
    }

    
$resultados mysql_query("SELECT * FROM usuarios where colegio='$colegio' order by puntos desc");
    
$total_registros mysql_num_rows($resultados); 
    
$resultados mysql_query("SELECT * FROM usuarios where colegio='$colegio' order by puntos desc LIMIT $inicio, $registros");
    
$total_paginas ceil($total_registros $registros);
$numero 1;

$qry=$resultados;

$numero $inicio 1;
while(
$row=mysql_fetch_assoc($qry) ){ 
?> 

<table width="340" border="2" align="center" bordercolor="#FF0000" style="color:#0000FF ">
  <tr>
    <td width="25"><div align="center"><span class="Estilo1"><?php echo $numero $numero++;?>
 </span></div></td>
    <td><div align="center"><span class="Estilo1"><?php echo $row['nick'?>
      </span></div>
   </td>
    <td width="50"><div align="center"><span class="Estilo1"><?php echo $row['puntos'?>
      </span></div>
  </td>
  </tr> 
</table>

<span class="indexado">
  <?php 
    if(
$_GET['pagina'] > 1) {
echo 
"<p><a  href='http://midominio/busquedas1.php?pagina=1'><< Primera</a> ";
}
if(
$_GET['pagina'] > 2) {
echo 
"<a href='http://midominio/busquedas1.php?pagina=".($_GET['pagina']-1)."'>< Anterior</a> ";
}
 
for(
$i=($_GET['pagina']-2); $i <= ($_GET['pagina']+2); $i++){
    if((
$i 0) && ($i <= $total_paginas)){
        if(
$_GET['pagina'] == $i){
            echo 
"".$i." "
        }else{
            echo 
"<a href='http://midominio/busquedas1.php?pagina=$i'>$i</a> ";
        }
    }
}
 
if(
$_GET['pagina'] < ($total_paginas-1)){
echo 
" <a href='http://midominio/busquedas1.php?pagina=".($_GET['pagina']+1)."'>Siguiente ></a>";
}
if(
$_GET['pagina'] < $total_paginas){
echo 
" <a href='http://midominio/busquedas1.php?pagina=".$total_paginas."'>Última >></a></p>";
}
?>

</span>
  #2 (permalink)  
Antiguo 09/01/2013, 05:31
Avatar de antoniopol  
Fecha de Ingreso: agosto-2012
Ubicación: Valladolid
Mensajes: 114
Antigüedad: 11 años, 7 meses
Puntos: 21
Respuesta: Problema con la paginacion

Muestra la consulta para saber si estas recibiendo los parametros que deseas, de todos modos.

Te dejo un tutorial que hice con paginación AJAX, considero que es bastante sencillo
Tutorial Paginación AJAX y PHP
__________________
>> Blog de desarrollo web.
>> @antoniopol06 amante de la Web =D
  #3 (permalink)  
Antiguo 09/01/2013, 05:34
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con la paginacion

Hola:

mostrar muestra los resultados, pero no los que deberia, ya que no "filtra" por la condicion de la busqueda
  #4 (permalink)  
Antiguo 09/01/2013, 15:18
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Problema con la paginacion

Hola antes que nada debes recibir tu variable de esta manera:

Código PHP:
$colegio trim($_REQUEST['colegio']); 
o en todo caso asi:

Código PHP:
$colegio trim($_GET['colegio']); 
y aqui agregue la variable $colegio:

Código PHP:
<span class="indexado">
  <?php 
    if(
$_GET['pagina'] > 1) {
echo 
"<p><a  href='http://midominio/busquedas1.php?pagina=1&colegio=".$colegio."'><< Primera</a> ";
}
if(
$_GET['pagina'] > 2) {
echo 
"<a href='http://midominio/busquedas1.php?pagina=".($_GET['pagina']-1)."&colegio=".$colegio."'>< Anterior</a> ";
}
 
for(
$i=($_GET['pagina']-2); $i <= ($_GET['pagina']+2); $i++){
    if((
$i 0) && ($i <= $total_paginas)){
        if(
$_GET['pagina'] == $i){
            echo 
"".$i." "
        }else{
            echo 
"<a href='http://midominio/busquedas1.php?pagina=$i&colegio=".$colegio."'>$i</a> ";
        }
    }
}
 
if(
$_GET['pagina'] < ($total_paginas-1)){
echo 
" <a href='http://midominio/busquedas1.php?pagina=".($_GET['pagina']+1)."&colegio=".$colegio."'>Siguiente ></a>";
}
if(
$_GET['pagina'] < $total_paginas){
echo 
" <a href='http://midominio/busquedas1.php?pagina=".$total_paginas."&colegio=".$colegio."'>Última >></a></p>";
}
?>
</span>
Saludos.
  #5 (permalink)  
Antiguo 10/01/2013, 05:47
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con la paginacion

Hola:

muchas gracias por tu respuesta.

Si cambio el post por get, no hace la busqueda, mas bien, el campo se queda en blanco.

alguna idea?
  #6 (permalink)  
Antiguo 10/01/2013, 08:05
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Respuesta: Problema con la paginacion

Buenas,

Lo que tienes que hacer propagar esa variable colegio ya sea por url utilizando GET o una vez realizada la primera busqueda almacenar ese valor en una variable de session y emplearla cada vez que te carges la pagina

Saludos
__________________
"No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo."
"El problema no es no saber, sino no saber quién sabe"
..::Con Karma se piensa mejor::..
  #7 (permalink)  
Antiguo 10/01/2013, 10:29
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con la paginacion

Hola:

gracias, pero como hacerlo?

un saludo
  #8 (permalink)  
Antiguo 10/01/2013, 10:38
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Problema con la paginacion

puedes probar asi
Código PHP:
Ver original
  1. $_SESSION['colegio'] = $_POST['colegio'];
  2. $colegio = $_SESSION['colegio'];
Saludos
__________________
Mi proyecto web Desarrollo-Tech visitame http://www.desarrollo-tech.com
  #9 (permalink)  
Antiguo 10/01/2013, 11:11
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con la paginacion

algo falla jajajjajaja

esta es la url que muestra en la pagina dos:

busquedas1.php?pagina=2&colegio=CEIP_Pedro_Simon_A bril

vamos que esta bien, pero no hace la busqueda, la condicion de la busqueda sique estando vacia.

un saludo
  #10 (permalink)  
Antiguo 11/01/2013, 03:35
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 16 años
Puntos: 1
Respuesta: Problema con la paginacion

Solucionado, os explico el fallo por si alguien le sirve:

Como decia gintifol:

Cita:
y aqui agregue la variable $colegio:



Código PHP:

<span class="indexado">
<?php }
if($_GET['pagina'] > 1) {
echo "<p><a href='http://midominio/busquedas1.php?pagina=1&colegio=".$colegio."'><< Primera</a> ";
}
if($_GET['pagina'] > 2) {
echo "<a href='http://midominio/busquedas1.php?pagina=".($_GET['pagina']-1)."&colegio=".$colegio."'>< Anterior</a> ";
}

for($i=($_GET['pagina']-2); $i <= ($_GET['pagina']+2); $i++){
if(($i > 0) && ($i <= $total_paginas)){
if($_GET['pagina'] == $i){
echo "".$i." ";
}else{
echo "<a href='http://midominio/busquedas1.php?pagina=$i&colegio=".$colegio."'>$i</a> ";
}
}
}

if($_GET['pagina'] < ($total_paginas-1)){
echo " <a href='http://midominio/busquedas1.php?pagina=".($_GET['pagina']+1)."&colegio=".$colegio."'>Siguiente ></a>";
}
if($_GET['pagina'] < $total_paginas){
echo " <a href='http://midominio/busquedas1.php?pagina=".$total_paginas."&colegio=" .$colegio."'>Última >></a></p>";
}
?>
</span>
Pero en lugar de poner esto:
colegio=".$colegio."'
hay que poner
colegio=".$combo3."'; que es como se recibe la variable.

mil gracias a todos

Etiquetas: mysql, paginacion, registro, resultados, usuarios
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 01:30.