Foros del Web » Programando para Internet » PHP »

No consigo paginar

Estas en el tema de No consigo paginar en el foro de PHP en Foros del Web. Hola, estoy desesperado , estoy intentando paginar pero no se por qué no puedo, todo me falla cuando intento pasarle varios valores a la página, ...
  #1 (permalink)  
Antiguo 26/12/2005, 07:09
 
Fecha de Ingreso: junio-2005
Mensajes: 16
Antigüedad: 19 años, 5 meses
Puntos: 0
No consigo paginar

Hola, estoy desesperado , estoy intentando paginar pero no se por qué no puedo, todo me falla cuando intento pasarle varios valores a la página, si le paso solo la cadena a buscar funciona pero si le paso más valores se estropea. Estoy que exploto, le he dado mil vueltas y no hay manera, se supone que enviándole los criterios debería funcionar, los valores los muestra pero sin embargo cuando le doy para pasar a la siguiente página me sale el error y no se a qué se debe.

Tengo esta página donde pongo los valores para la búsqueda:

Código HTML:
<table width="967" border="0" align="left" bgcolor="#A6BED0">
        <tr>
          <td width="180"><div align="center"><strong><font color="#FFFFFF" size="4">Buscar pacientes por </font></strong></div></td>
          <td width="160"><div align="center">
              <select name="lista1" id="lista1">
                <option value="nombre">Nombre</option>
                <option value="apellidos">Apellidos</option>
                <option value="dni">DNI</option>
                <option value="centro">Centro</option>
                <option value="telefono">Tel&eacute;fono</option>
                <option value="zona">Zona</option>
              </select>
          </div></td>
          <td width="240"><div align="center">
              <input name="caja1" type="text" id="caja1" size="40">
          </div></td>
          <td width="126"><div align="center"><strong><font color="#FFFFFF" size="4">Ordenados por </font></strong></div></td>
          <td width="157"><div align="center">
              <select name="lista2" id="select2">
                <option value="nombre">Nombre</option>
                <option value="apellidos">Apellidos</option>
                <option value="telefono">Tel&eacute;fono</option>
                <option value="centro">Centro</option>
                <option value="zona">Zona</option>
              </select>
          </div></td>
          <td width="78"><div align="center">
              <input name="mostrar" type="submit" id="mostrar" value="Mostrar">
          </div></td>
        </tr>
      </table> 
Y esta otra donde los recibo y los muestro:
Código PHP:
<?php      

$criterio 
""
$txt_criterio1 "";
$txt_criterio2 ""

if (
$_GET["caja1"]!=""){ 
   
$txt_criterio1 $_GET["lista1"];
   
$txt_criterio2 $_GET["caja1"]; 
   
   
$criterio " where '%"$txt_criterio1 ."%' like '%" $txt_criterio2 "%' "



$sql "SELECT * FROM informacion ".$criterio;
$res=mysql_query($sql); 
$numeroRegistros=mysql_num_rows($res); 

if(
$numeroRegistros<=0
{
    echo 
"<div align='center'>"
    echo 
"<font face='verdana' size='-2'>No se encontraron resultados</font>"
    echo 
"</div>"
}else{ 
    
// Elementos para el orden.
    
if(!isset($orden)) 
    { 
      
$orden=$lista2
    } 
    
    
// Fin elementos de orden. Calculo de elementos necesarios para paginacion. Tamaño de la pagina.
    
$tamPag=2

    
// Pagina actual si no esta definida y limites.
    
if(!isset($_GET["pagina"])) 
    { 
       
$pagina=1
       
$inicio=1
       
$final=$tamPag
    }else{ 
       
$pagina $_GET["pagina"]; 
    } 

    
// Continuamos.


    
// 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
       } 
    } 


    
$consulta ="SELECT identificacion, nombre FROM informacion " .$criterio." ASC LIMIT ".$limitInf.",".$tamPag;

//$consulta ="SELECT identificacion, nombre FROM informacion WHERE $lista1 LIKE '%".$caja1."%' order by $lista2 ASC LIMIT ".$limitInf.",".$tamPag;
$res=mysql_query($consulta); 



echo 
"</font></div>"



if (
mysql_num_rows($res)){ 

echo 
"<table border = '0' align='center' bgcolor='#768D9F'> \n"
echo 
"<tr bgcolor='#768D9F'><td> <font color='#FFFFFF'><b>Nombre</b></font></td><td> <font color='#FFFFFF'><b>Inf. Inicial</b></font></td><td> <font color='#FFFFFF'><b>Inf. Seguimiento</b></font></td><td> <font color='#FFFFFF'><b>Inf. Final</b></font></td><td> <font color='#FFFFFF'><b>Cursos</b></font></td></tr> \n"

while(
$row=@mysql_fetch_array($res)) {
echo 
"<tr><td bgcolor='#A6BED0'><font color='#FFFFFF'><b>".$row["nombre"]."</font></b></td>
      <td bgcolor='#FFFFFF' align='center'><a href='ver_inf_ini.php?valor="
.$row["identificacion"]."' target='_blank'><img src='../../../Imagenes/Otras/ficha.gif' border='0'></a></td>
      <td bgcolor='#FFFFFF' align='center'><a href='ver_inf_seg.php?valor="
.$row["identificacion"]."' target='_blank'><img src='../../../Imagenes/Otras/ficha.gif' border='0'></a></td>
      <td bgcolor='#FFFFFF' align='center'><a href='ver_inf_fin.php?valor="
.$row["identificacion"]."' target='_blank'><img src='../../../Imagenes/Otras/ficha.gif' border='0'></a></td>  
      <td bgcolor='#FFFFFF' align='center'><a href='ver_cursos.php?valor="
.$row["identificacion"]."' target='_blank'><img src='../../../Imagenes/Otras/ficha.gif' border='0'></a></td></tr> \n";
  }
  echo 
"</table> \n"
}

?>

</p>
      <table width="200" border="0" align="center">
        <tr>
          
          
          <td><div align="left"> 
      <?   if($pagina>1
    { 
       echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."'>"
       echo 
"<img src='../../../Imagenes/Otras/btn_ant.gif' width='75' height='31' border='0'></a>"
    } 
     
?></div></td>
          
          
          <td><div align="center">
     <?
         
for($i=$inicio;$i<=$final;$i++) 
    { 
       if(
$i==$pagina
       { 
       
?>

       <?php
          
echo "<font face='verdana' size='-1'><b>Página ".$i."</b> </font>"
       }else{ 
          echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."'>"
          echo 
"<font face='verdana' size='-1'> Página ".$i."</font></a> "
       } 
    } 
     
     
?>
     </div></td>
     
     
          <td><div align="right">
     <?
         
if($pagina<$numPags
   { 
       echo 
" <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."'>"
       echo 
"<img src='../../../Imagenes/Otras/btn_sig.gif' width='75' height='31' border='0'></a>"
   } 

?>

Por favor a ver si podeis echarme una mano porque no encuentro el error. Y perdonar si hay en el código de la segunda página bastantes errores pero es que lo he modificado tantas veces que ya no se ni lo que hacer. He intentado borrar todos los comentarios que he hecho para que no os lien. Muchas gracias de antemano.
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 12:15.