Foros del Web » Programando para Internet » PHP »

paginacion resultados consulta

Estas en el tema de paginacion resultados consulta en el foro de PHP en Foros del Web. Estoy trabajando con un script para paginar resultados de una consulta, y tengo un pequeño problema... Cuando doy click sobre el enlace para las páginas ...
  #1 (permalink)  
Antiguo 09/02/2006, 10:56
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 4 meses
Puntos: 0
paginacion resultados consulta

Estoy trabajando con un script para paginar resultados de una consulta, y tengo un pequeño problema...
Cuando doy click sobre el enlace para las páginas siguientes a la que se muestra, se regresa al formulario inicial donde ingreso los parámetros de búsqueda, y no va a la page sigte q muestra el resto de resultados.
Qué puedo hacer?? El código es:

Código PHP:
[SIZE="1"][FONT="Arial Narrow"]?> 
<?php 
include ("conexion.php");     
<
html

<? 

if (isset(
$buscar1) && isset($buscar2))
{                                                             

    
$sql="SELECT * FROM seguimiento WHERE (fecha_visita >= '$buscar1') AND (fecha_visita <= '$buscar2')"
    
$res=mysql_query($sql); 
    
$numeroRegistros=mysql_num_rows($res); 
    if(
$numeroRegistros<=0
    { 
        echo 
"<div align='center'>"
        echo 
"<font face='verdana' size='-1'>No se encontraron resultados</font>"
        echo 
"</div>"
    }else
    { 
        
//////////elementos para el orden 
        
if(!isset($orden)) 
        { 
           
$orden="PERSONA_identificacion"
        } 
        
//////////fin elementos de orden 

        //////////calculo de elementos necesarios para paginacion 
        //tamaño de la pagina 
        
$tamPag=20

        
//pagina actual si no esta definida y limites 
        
if(!isset($_GET["pagina"])) 
        { 
           
$pagina=1
           
$inicio=1
           
$final=$tamPag
        }else{ 
           
$pagina $_GET["pagina"]; 
        } 
        
//calculo del limite inferior 
        
$limitInf=($pagina-1)*$tamPag

        
//calculo del numero de paginas 
        
$numPags=ceil($numeroRegistros/$tamPag); 
        if(!isset(
$pagina)) 
        { 
           
$pagina=1
           
$inicio=1
           
$final=$tamPag
        }else{ 
           
$seccionActual=intval(($pagina-1)/$tamPag); 
           
$inicio=($seccionActual*$tamPag)+1

           if(
$pagina<$numPags
           { 
              
$final=$inicio+$tamPag-1
           }else{ 
              
$final=$numPags
           } 

           if (
$final>$numPags){ 
              
$final=$numPags
           } 
        } 
        
//////////fin de dicho calculo 

        //////////creacion de la consulta con limites 
        
$sql="SELECT * FROM seguimiento WHERE (fecha_visita >= '$buscar1') AND (fecha_visita <= '$buscar2') ORDER BY ".$orden.", fecha_visita ASC LIMIT ".$limitInf.",".$tamPag
        
$res=mysql_query($sql); 

        
//////////fin consulta con limites 
        
echo "<div align='center'>"
        echo 
"<font face='verdana' size='-2'>Encontrados ".$numeroRegistros." Resultados<br>"
        echo 
"(Ordenados por <b>".$orden."</b>)"
        echo 
"</font></div>"
        echo 
"<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>"
        echo 
"<tr><td colspan='5'><hr noshade></td></tr>"
        echo 
"<th bgcolor='#CCFF99'><font color='#000000' size='2' face='Verdana, Arial, Helvetica, sans-serif'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=PERSONA_identificacion&buscar='>IDENTIFICACION</a></th>"
        echo 
"<th bgcolor='#CCFF99'> <font color='#000000' size='2' face='Verdana, Arial, Helvetica, sans-serif'> <a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=fecha_visita&buscar='>FECHA</a></th>"
        echo 
"<th bgcolor='#CCFF99'> <font color='#000000' size='2' face='Verdana, Arial, Helvetica, sans-serif'> <a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=solicitud_visita&buscar='>SOLICITUD</a></th>"
        echo 
"<th bgcolor='#CCFF99'> <font color='#000000' size='2' face='Verdana, Arial, Helvetica, sans-serif'> <a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=accion_visita&buscar='>ACCION</a></th>"
        echo 
"<th bgcolor='#CCFF99'> <font color='#000000' size='2' face='Verdana, Arial, Helvetica, sans-serif'> <a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=observaciones_visita&buscar='>OBSERVACIONES</a></th>"
        while(
$registro mysql_fetch_array($res)) 
        { 
        
?> 
           <!-- tabla de resultados --> 
            <tr bgcolor="#333399" onMouseOver="this.style.backgroundColor='#00CC33';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#3399FF'"o"];" onClick="javascript:muestra('<? echo "[".$registro["PERSONA_identificacion"]."] ".$registro["fecha_visita"]." "$registro["solicitud_visita"]." -  ".$registro["accion_visita"]; ?>');"> 
            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["PERSONA_identificacion"]; ?></b></font></td> 
            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["fecha_visita"]; ?></b></font></td> 
            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["solicitud_visita"]; ?></b></font></td> 
            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["accion_visita"]; ?></b></font></td> 
            <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["observaciones_visita"]; ?></b></font></td> 
          </tr> 
           <!-- fin tabla resultados --> 
        <? 
        
}//fin while 
        
echo "</table>"
    
        
//////////a partir de aqui viene la paginacion 
    
?> 
        <hr noshade style="color:#009966;height:1px"> 
        <table border="0" cellspacing="0" cellpadding="0" align="center"> 
        <tr><td align="center" valign="top"> 
    <? 
    
if($numeroRegistros>0
    {   
        if(
$pagina>1
        { 
           echo 
"<a class='p' href='".$_SERVER['PHP_SELF'] ."?pagina=".($pagina-1)."&orden=".$orden."&PERSONA_identificacion='>"
           echo 
"<font face='verdana' size='-2'>Anterior</font>"
           echo 
"</a> "
        } 

        for(
$i=$inicio;$i<=$final;$i++) 
        { 
           if(
$i==$pagina
           { 
              echo 
"<font face='verdana' size='-2'><b>".$i."</b> </font>"
           }else{ 
              echo 
"<a class='p' href='".$_SERVER['PHP_SELF']."?pagina=".$i."&orden=".$orden."&PERSONA_identificacion='>"
              echo 
"<font face='verdana' size='-2'>".$i."</font></a> "
           } 
        } 
        if(
$pagina<$numPags
        { 
           echo 
" <a class='p' href='".$_SERVER['PHP_SELF']."?pagina=".($pagina+1)."&orden=".$orden."&PERSONA_identificacion='>"
           echo 
"<font face='verdana' size='-2'>Siguiente</font></a>"
        } 
    }
    
//////////fin de la paginacion 
    
}//fin else -if 
    
} else
{        
    
?>
    <td width='85%'align='middle'  height='90%' valign='top'>
        <table width='100%' border='0' cellspacing='0' cellpadding='2'>
        <font face="Tw Cen MT Condensed Extra Bold" color='#000000' size="3">
        <body>
        <form name='buscar' method= "POST" action='<?$_SERVER['PHP_SELF']?>'>
        <strong>Ingrese Fecha de Inicio y Terminación:</strong>
        <input type="text" name="buscar1" size="20" value='AAAA-MM-DD'>
        <input type="text" name="buscar2" size="20" value='AAAA-MM-DD'>
        <input type="submit" value="Buscar">
        </form>
</body> 
<? [/FONT][/SIZE]
Gracias!
  #2 (permalink)  
Antiguo 09/02/2006, 12:00
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 18 años, 4 meses
Puntos: 0
no especificas buscar1 y buscar2 en los enlaces, por lo tanto la condición del if es falsa. tampoco dices de donde sacas esos valores, deberias leerlos desde algun array global.
  #3 (permalink)  
Antiguo 09/02/2006, 12:07
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 4 meses
Puntos: 1
Que tal, medio viendo tu codigo me he dado cuenta que vuelves a cargar el formulario y que estas comprobando si los valores buscar1 y buscar2 estan vacios o no lo que me doy cuenta es que la primera vez que lo haces todo bien! el problema esta cuando pone el formulario que tus text buscar1 y buscar2 estan vacios y por lo tanto no entra en tu condicion que es donde me imagino que haces la paginación busca poner algo en el enlace de siguiente y anterios para comprobar si no es la primera vez que pasas... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
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 21:57.