Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2009, 08:58
Avatar de cesarpunk
cesarpunk
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 17 años, 1 mes
Puntos: 9
ayuda con paginacion... porfavor

hola, estaba comenzando a aplicar paginacion a mis registros, pero no lo he conseguido a un 50% ya que solo he conseguido crear la numeracion de acuerdo a el numero de registros y el boton "atras" y "adelante". Lo que no he conseguido mostrar la cantidad de registros que deseo establecer, osea si tengo 10 registros solo quiero que se muestren 5, pero siempre me salen los 10registros.....

Aqui preparo la paginacion, dependiendo de mi consulta:

Código PHP:
$consulta "select * from paciente where paciente_flag_estado='1' order by paciente_nombre";
$rs=mysql_query($consulta,$c);
$num=mysql_num_rows($rs); 

//PAGINACION---------------------------------------------------------//
$pagina 1;
$total_paginas 1;

if(
$num 0){
    
//VALORES PARA LA PAGINACION
    
$registros 5;    //registros a mostrar, solo 5
    
if(!$_GET["pagina"]){
        
$inicio 0;    //la inicialicacion del limit de la consulta
        
$pagina 1;    //inicio la pagina en 1
    
}else{
        
$inicio = ($_GET["pagina"] - 1) * $registros;
        
$pagina $_GET["pagina"];
    }
    
//haciendo la paginacion
    
if(isset($_GET["pag"])){
        if(
$_GET["pag"] == "sig"){
            
$pagina $pagina 1;
        }elseif(
$_GET["pag"] == "ant"){
            
$pagina $pagina 1;
            
$inicio = ($_GET["pagina"] - 1) * $registros;
        }
    }

    
$total_paginas ceil($num/$registros);
    
$consulta .= " limit ".$inicio.",".$registros;

Y Aqui es donde genero los registros, y creo que aqui me falta algo de codigo... sobre todo antes del for

Código PHP:
 <?php
//PREGUNTAMOS SI EXISTEN REGISTROS
if($num>0){
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td align="left" valign="top">
             <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border:solid 1px #D2E4D4">
                 <tr>
                    <td width="39" height="18" align="center" bgcolor="#D8EECC"></td>                                  <td width="226" bgcolor="#D8EECC" class="HeadList">Nombres <img src="imagenes/order.gif" alt="" width="8" height="7" align="absmiddle" /></td>
                                      <td width="226" bgcolor="#D8EECC" class="HeadList">Apellidos <img src="imagenes/order.gif" alt="" width="8" height="7" align="absmiddle" /></td>
                                      <td width="59" bgcolor="#D8EECC" class="HeadList">Edad <img src="imagenes/order.gif" alt="" width="8" height="7" align="absmiddle" /></td>
                                      <td width="190" bgcolor="#D8EECC" class="HeadList">fecha de Registro </td>

    <td width="329" bgcolor="#D8EECC" class="HeadList">Titular <img src="imagenes/order.gif" alt="" width="8" height="7" align="absmiddle" /></td>
                                     <td width="65" align="center" bgcolor="#D8EECC" class="HeadList" style="padding:0px">Tipo</td>
                                      <td width="68" align="center" bgcolor="#D8EECC" class="HeadList" style="padding:0px">Ver</td>
                                    </tr>
                                  <?php
                                    
//BUSQUEDA DE LOS REGISTROS DEL PACIENTE
                                    
for ($i=0$i<$num$i++) {
                                    
$idpacientemysql_result($rs,$i,"paciente_id");
                                    
$nompacientemysql_result($rs,$i,"paciente_nombre");
                                    
$apepacientemysql_result($rs,$i,"paciente_apellidos");
                                    
$nacimientomysql_result($rs,$i,"paciente_fecha_nacimiento");
                                    
$flagpacientemysql_result($rs,$i,"paciente_flag_estado");
                                    
$registromysql_result($rs,$i,"paciente_fecha_registro");
                                  
?>
                 <tr><td height="1" colspan="9" bgcolor="#D2E4D4"></td></tr>
                                      <tr bgcolor="#FFFFFF" style="cursor:pointer" onMouseOver="this.style.background='#FDFBE7';" onMouseOut="this.style.background='#FFFFFF'">
                                      <td height="22" align="center" bgcolor="#BEE3A8"><img src="iconos/chicos/categorias_16.png" alt="" width="16" height="16" border="0" align="absmiddle" /></td>
                                      <td class="ValoresList" style="font-weight:normal; font-size:10px;"><span class="ValoresList" style="font-weight:normal; font-size:10px;"><b><?php echo $nompaciente?></b></span></td>
                                      <td class="ValoresList" style="font-weight:normal; font-size:10px;"><span class="ValoresList" style="font-weight:normal; font-size:10px;"><b><?php echo $apepaciente?></b></span></td>
                                      <td class="ValoresList" style="font-weight:normal; font-size:10px;"><span class="ValoresList" style="font-weight:normal; font-size:10px;"><b><?php echo $Edad?></b></span></td>
                                      <td class="ValoresList" style="font-weight:normal; font-size:10px;"><span class="ValoresList" style="font-weight:normal; font-size:10px;"><b><?php echo $registro?></b></span></td>
                                        <td align="center">
                                      </td>
                  <td align="center"><a href="<?php echo "paciente_edition.php?urlcod=$idpaciente"?>"><img src="iconos/chicos/down.png" width="16" height="16" border="0" /></a></td>
      </tr>
                  <?php
                                      
}
                                  
?>
                  <tr><td height="1" colspan="9" bgcolor="#D2E4D4"></td></tr>
                   </table></td>
      </tr>
                  </table>    
<?php
}
?>
Y Aqui donde genero la paginacion (esta parte me funciona bien)

Código PHP:
<?php
                            
//muestro paginacion siempre y cuando hayan mas de una pagina
                            
if($total_paginas 1){
                          
?>
                            <table border="0" cellpadding="0" cellspacing="0" bordercolor="#C5B8B7">
                              <tr>
                                <td width="50" align="left" class="estiloEtiquetasFormulario">Pagina :</td>
                          <?php
                            
//imprimiendo numeros de pagina
                            //imprimir opcion de anterior si las paginas son mayores a una
                            
if($pagina 1){
                          
?>
                                      <td width="18" align="center" valign="bottom"><a href="pacientes_list.php?pagina=1" title="Primera"><img src="images/paginacion/pg-first.gif" alt="Primero" width="16" height="16" border="0" align="absmiddle" /></a></td>
                                      <td width="18" align="center" valign="bottom"><a href="pacientes_list.php?pagina=<?php echo ($pagina-1);?>" title="Anterior"><img src="images/paginacion/pg-prev.gif" alt="Anterior" width="16" height="16" border="0" align="absmiddle" /></a></td>
                                      <td width="4" align="center"></td>
                                    <?php
                                        
}
                        
                                        
//Codigo para simplificar la botonera de paginacion, para que se no se muestren todos los hipervinculos en el caso de demasiadas paginas
                                        
if ($pagina >= 4){ //Si la "pagina" es mayor que 6 procedo a establecer las cotas superior e inferior ("sup" e "inf")
                                            
$inf $pagina 3;
                                            
$sup $pagina 3;
                                        }else{ 
//En caso que la "pagina" sea menor o igual que 5, las cotas son 1 y la "pagina" mas 5
                                            
$inf 1;
                                            
$sup $pagina 3;
                                        }
                                        if(
$sup $total_paginas){ //En caso la cota superior sea mayor que el total de paginas
                                            
$sup $total_paginas//La cota superior se convierte en el total de paginas, sino sobrepasa el numero de paginas existentes mostrandolas
                                        
}
                                    
?>
                                    <?php
                                        
for($p=$inf;$p<=$sup;$p++){
                                            if(
$p == $pagina){
                                    
?>
                                      <td width="20" align="center" valign="middle" bgcolor="#D1E9C4" class="estiloTextoGeneral" style="border:solid 1px #8CCA69"><b><?php echo $p;?></b></td>
                                    <?php
                                        
}else{
                                    
?>
                                      <td width="20" align="center" valign="middle"><a href="pacientes_list.php?pagina=<?php echo $p;?>" class="listaPaginacion"><?php echo $p;?></a></td>
                                    <?php
                                            
}
                                        }
                                    
                                        if(
$pagina $total_paginas){
                                    
?>
                                          <td width="4" align="center"></td>
                                          <td width="18" align="center"> <a href="pacientes_list.php?pagina=<?php echo ($pagina+1);?>" title="Siguiente"><img src="images/paginacion/pg-next.gif" alt="Siguiente" width="16" height="16" border="0" align="absmiddle" /></a></td>
                                          <td width="18" align="center"> <a href="pacientes_list.php?pagina=<?php echo $total_paginas;?>" title="Ultima"><img src="images/paginacion/pg-last.gif" alt="Ultima" width="16" height="16" border="0" align="absmiddle" /></a></td>
                                    <?php
                                        
}
                                    
?>
                                    </tr>
                              </table>
                          <?php
                            
}
                            
//fin de imprecion de pagina
                          
?>
espero me puedan ayudar a completar la paginacion de acuerdo a mi codigo... saludos
__________________
Quitenme la vida pero no la bebida.