Comunidad de diseño web y desarrollo en internet online

Error en registros -1

Citar            
MensajeEscrito el 30 Nov 2010 10:39 am
Hola,
Tengo un problemilla con el [0].
Hago una consulta a una Bd, y me retorna correctamente los resultados, al filtrarlos también.
Pero en cuanto le meto una paginación, el nuevo [0] filtrado no aparece.

Código :

 $link=Conectarse();  
   $criterio = "";
    if ($_GET["criterio"]!=""){
      $txt_criterio = $_GET["criterio"];
      $criterio = "  AND title like '%" . $txt_criterio . "%'";
   
 }
 
   $result=mysql_query("select * from tabla where Select0 like 'Vuelos' ".$criterio." ORDER BY Prijs ASC ",$link);
   //pongo -1 porque no se donde coño esta el valor 0
      $numeroRegistros=mysql_num_rows( $result)-1;
   
   

      //////////fin de dicho calculo
echo "<table width='580' align=center>";

$columnes = 2; # Número de columnas (variable)

if (($rows=mysql_num_rows($result))==0) {
    
  echo "<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> ";
  
} else {
  echo "<tr><td colspan=$columnes><font face='Arial' size='-2'>Encontrados ".$numeroRegistros." resultados<br> </td></tr>";  
}

//orden

   if(!isset($orden))
      {
         $orden="Prijs";
      }
      $tamPag=23;
         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;
          }
      }
      
   

   
      $sql="SELECT * FROM BD.tabla where Select0 like 'Vuelos' ".$criterio." ORDER BY ".$orden.",Prijs ASC LIMIT ".$limitInf.",".$tamPag;
      $result=mysql_query($sql);
               //echo "ordenados por <b>".$orden."</b>";
        if(isset($txt_criterio)){
      echo "<br><b>Vuelos: ".$txt_criterio."</b>";
         }
      

while($registro=mysql_fetch_array($result))
      {
      for ($i=1; $row = mysql_fetch_row ($result); $i++) {   
            $row[5]=str_replace("Vuelos ",'',$row[5]);
           $row[5]=str_replace("Vuelo ",'',$row[5]);
            $row[5]=str_replace("vuelos baratos ",'',$row[5]);
         $row[5]=str_replace("flight from ",'',$row[5]);
            $row[5]=strtolower($row[5]);
          $row[5]=ucwords($row[5]);

         $resto = ($i % $columnes); 
         if ($resto == 1) {echo "<tr>";} 
          // para ver el numero de celda echo "<td>".$i."</td>";
         echo "<td></td>";
          if ($i == 3 or $i==4 or $i==7 or $i==8 or $i==11 or $i==12 or $i==15 or $i==16 or $i==19 or $i==20 ) {
            echo "<td width='210' height='20' class='fila'><font-size='10pt'><a href=$row[6] target='_blank'>$row[5]</a></td>";
             echo "<td class='fila'><font-size='10pt'><a href=$row[6] target='_blank'>&nbsp;$row[8]&nbsp;&euro;</a></td>";
             }else{
             echo "<td width='210' height='20' ><font-size='10pt'><a href=$row[6] target='_blank'>$row[5]</a></td>";
             echo "<td><font-size='10pt'><a href=$row[6] target='_blank'>&nbsp;$row[8]&nbsp;&euro;</a></td>";
         }
          echo "<td></td>";
         if ($resto == 0) {echo "</tr>";} 
         }
         if ($resto <> 0) { 
         $ajust = $columnes - $resto; 
         for ($j = 0; $j < $ajust; $j++) {echo "<td>&nbsp;</td>";}
         echo "</tr>"; # Cerramos la última línea </tr>
         }
}//fin while

   
      echo "</table>";
   
?>
   <br>
   <table width='580' border="0" cellspacing="0" cellpadding="0" align="center">
   <tr> <td width='28'>pag.&nbsp;</td>
<?
   if($pagina>1)
   {
      echo "<td class='p'><a  href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
      echo "<font  size='-2'><<</font>";
      echo "</a></td>";
   }

   for($h=$inicio;$h<=$final;$h++)
   {
      if($h==$pagina)
      {
         echo "<td class='p'><font  size='-2'><b>".$h."</b></font></td>";
         
      }else{
         echo "<td><a  href='".$_SERVER["PHP_SELF"]."?pagina=".$h."&orden=".$orden."&criterio=".$txt_criterio."'>";
         echo "<font  size='-2'>".$h."</font></a></td>";
         
      }
   }
   if($pagina<$numPags)
   {
      echo "<td class='p'><a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
      echo "<font  size='-2'>>></font></a></td>";
   }
   
?>


Gracias

Por barullo

13 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 08 Dic 2010 05:58 pm
Sobra el while.

Código :

while($registro=mysql_fetch_array($result))

      {
.....
}

Listo

Por barullo

13 de clabLevel



 

mozilla

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.