Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2009, 18:42
r0xdrig0
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 17 años, 3 meses
Puntos: 0
Paginar estilo google en php

Hola amigos, tengo el siguiente codigo para paginacion:
Código PHP:
 $Buscar = $_GET['Buscar'];
  
if($Buscar)
{
    //*********************BUSCAR POR ID NINO*****************************
    $edad_nino = $_GET['edad_nino'];
    if ($edad_nino)
    
    {
    
         $busqueda = "SELECT id_nino
 FROM nino 
 where fu_obtener_edad(fecha_nac_nino,CURRENT_DATE) = $edad_nino AND nino.estado='ACTIVO'";
//echo $busqueda;
$resultado = pg_query($busqueda);
    $registros = 1;
    //echo $busqueda;
    
    //$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : false;
    $pagina = $_GET['pagina'];
    
    if (!$pagina) 
    { 
              $inicio = 0; 
              $pagina = 1; 
    } 
    else 
    { 
        $inicio = ($pagina - 1) * $registros; 
    } 
 
         $SELECT_TODO = "SELECT fu_obtener_edad(fecha_nac_nino,CURRENT_DATE) as edad, nino.id_nino, nino.nombre_nino, nino.apellido_paterno_nino, nino.apellido_materno_nino, nino.direccion_nino, nino.sector_nino, nino.fono_fijo, nino.fono_movil, nino.fono_referencia, educacion.nombre_escuela_nino, educacion.curso_nino, educacion.repeticion_u_ano_nino, educacion.motivo_repitencia_nino
 FROM nino left join educacion on nino.id_nino = educacion.id_nino 
 where fu_obtener_edad(fecha_nac_nino,CURRENT_DATE) = $edad_nino AND nino.estado='ACTIVO' AND educacion.estado='ACTIVO'";
 
// echo $SELECT_TODO;
 $RES_SELECT_TODO = pg_query($SELECT_TODO);
 
 $total_registros = pg_num_rows($RES_SELECT_TODO); 
 
 $SELECT_CON_LIMIT = "SELECT fu_obtener_edad(fecha_nac_nino,CURRENT_DATE) as edad, nino.id_nino, nino.nombre_nino, nino.apellido_paterno_nino, nino.apellido_materno_nino, nino.direccion_nino, nino.sector_nino, nino.fono_fijo, nino.fono_movil, nino.fono_referencia, educacion.nombre_escuela_nino, educacion.curso_nino, educacion.repeticion_u_ano_nino, educacion.motivo_repitencia_nino
 FROM nino left join educacion on nino.id_nino = educacion.id_nino 
 where fu_obtener_edad(fecha_nac_nino,CURRENT_DATE) = $edad_nino  AND nino.estado='ACTIVO' AND educacion.estado='ACTIVO' OFFSET '$inicio' LIMIT '$registros'";
// echo $SELECT_CON_LIMIT;
 
 $RES_SELECT_CON_LIMITE = pg_query($SELECT_CON_LIMIT);
 
// ".$_POST['edad_nino']."
 
 $total_paginas = ceil($total_registros / $registros);
     
     if($total_registros)
{
 
 
            

            while ($row = pg_fetch_array($RES_SELECT_CON_LIMITE)) 
            {
                
               
                
                echo "<tr>";
                echo "<td class='segundalinea'>";
                ?>
                <a href="#" onClick="EnviarCodigoNino('<? echo $row[1]; ?>', '<? echo $row[2]; ?>')">
                <?     echo $row[1]; ?>                    
                </a>
                

                
                <?
                

                
echo "</td>";
                
//echo "<td>".$row[1]."</td>";
                
echo "<td>".$row[2]."</td>";
                echo 
"<td>".$row[3]." ".$row[4]."</td>";
                echo 
"<td>".$row[0]." Año(s)"."</td>";
                echo 
"<td>".$row[5]."</td>";
                echo 
"<td>".$row[6]."</td>";
                echo 
"<td>".$row[7]."</td>";
                echo 
"<td>".$row[8]."</td>";
                echo 
"<td>".$row[9]."</td>";
                echo 
"<td>".$row[10]."</td>";
                echo 
"<td>".$row[11]."</td>";
                echo 
"<td>".$row[12]."</td>";
                echo 
"<td>".$row[13]."</td>";
                echo 
"<td>".$row[14]."</td>";
                            
                        echo 
"</tr>";
                
            }
        }
        
        }
    }

if(
$RES_SELECT_CON_LIMITE==0)
    {
        echo 
"</table>";
            echo 
"<strong><font color='red'>No se Encontraron Menores con la Edad Especificada...</strong></font>";
            
    }



    if(
$total_registros
    {
        
        if((
$pagina 1) > 0
        {
            
            echo 
"<a href=\"buscar_nino_por_edad.php?pagina=".($pagina-1)."&Buscar=".($_GET['Buscar'])."&edad_nino=".($_GET['edad_nino'])."\">< Anterior</a> ";
        }
        for (
$i=1$i<=$total_paginas$i++)
        { 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href=\"buscar_nino_por_edad.php?pagina=$i&Buscar=".($_GET['Buscar'])."&edad_nino=".($_GET['edad_nino'])."\">$i</a> "
        }
        if((
$pagina 1)<=$total_paginas
        {
            echo 
" <a href=\"buscar_nino_por_edad.php?pagina=".($pagina+1)."&Buscar=".($_GET['Buscar'])."&edad_nino=".($_GET['edad_nino'])."\">Siguiente ></a>";
        }
        echo 
"<br />";
    }
    
    
    
    if(
$total_registros
    {
        echo 
"</table>";
        echo 
"<br />";
        if((
$pagina 1) > 0
        {
            echo 
"<a href=\"buscar_nino_por_edad.php?pagina=".($pagina-1)."&Buscar=".($_GET['Buscar'])."&edad_nino=".($_GET['edad_nino'])."\">< Anterior</a> ";
        }
        for (
$i=1$i<=$total_paginas$i++)
        { 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href=\"buscar_nino_por_edad.php?pagina=$i&Buscar=".($_GET['Buscar'])."&edad_nino=".($_GET['edad_nino'])."\">$i</a> "
        }
        if((
$pagina 1)<=$total_paginas
        {
            echo 
" <a href=\"buscar_nino_por_edad.php?pagina=".($pagina+1)."&Buscar=".($_GET['Buscar'])."&edad_nino=".($_GET['edad_nino'])."\">Siguiente ></a>";
        }
        
    }
     
?>
este code me funciona bien.... pero lo q quiero ahora es q me pagine de esta manera:

<<inicio>> 1 2 3 <<siguientes 3 paginas>> <<Final>>
como puedo hacer esto deacuerdo al code q ya tengo??? q debo cambiar para q me muestre cada 3 paginas y luego al hacer click en siguientes 3 paqginas me muestre de la pagina 4 a la 6 y asi sucesivamente asi como tambien me permita ir a la primera o ultima pagina???? q debo cambiar en mi code para poder realizar lo q quiero amigos??? porfavor agradeceria mucho su ayuda/guia de antemano gracias... bye