Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2011, 06:52
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 24 años, 4 meses
Puntos: 1
Resultados del Buscador no me muestra el paginador

Hola a todos! Estoy armando n buscador con paginador de resultados y de las pruebas que hice me muestra solo los primeros 16 resultados pero el paginador no aparece. Les muestro el código:

Código PHP:
<?php
// verificamos que se haya enviado una consulta 
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){ 
    
$txt_criterio = htmlspecialchars($_GET['txt_criterio']);
   
   
//CUENTA EL NUMERO DE PALABRAS
   
$trozos=explode(" ",$txt_criterio);
   
$numero=count($trozos);

//////////elementos para el orden 
if(!isset($orden)) 
{ 
$orden="cod_articulo"; 
} 
//////////fin elementos de orden 

//////////calculo de elementos necesarios para paginacion 
//tamaño de la pagina 
$tamPag=10;
$tamPag2=16;

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

  if (
$numero==1) {

   
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
   
$sql="SELECT * FROM producto 
             WHERE categoria LIKE '%$txt_criterio%' 
              OR linea LIKE '%$txt_criterio%' 
              OR descripcion LIKE '%$txt_criterio%' 
              ORDER BY producto."
.$orden.",producto.cod_articulo LIMIT $limitInf, $tamPag2";

  } elseif (
$numero>1) {

  
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
  //busqueda de frases con mas de una palabra y un algoritmo especializado
  
$sql="SELECT * , MATCH (categoria,linea,descripcion) AGAINST ('$txt_criterio' IN BOOLEAN MODE) AS coincidencias 
            FROM producto 
            WHERE MATCH (categoria,linea,descripcion) AGAINST ('$txt_criterio' IN BOOLEAN MODE) 
            ORDER BY coincidencias, producto."
.$orden.",producto.cod_articulo DESC LIMIT $limitInf, $tamPag2";

  }

$res = mysql_query($sql) or die (mysql_error()); 
$numeroRegistros = mysql_num_rows($res) or die (mysql_error());
//$numeroRegistros = mysql_fetch_object($res);

}

if(
$numeroRegistros<=0) 
{
  echo 
"No se encontraron datos cargados";
} else {
  while(
$registro=mysql_fetch_array($res)) 
{ 

//muestro los resultados
.......
?>

<div id="txtPaginador11b" class="txtPaginador11b">
<?php
if($pagina>1) 
{ 
echo 
"<a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&buscar=".$txt_criterio."'>"; 
echo 
"<class='txtPaginador11b'><< ANTERIOR</font>"; 
echo 
"</a> "; 
} 

for(
$i=$inicio;$i<=$final;$i++) 
{ 
if(
$i==$pagina) 
{ 
echo 
"<class='txtPaginador11b'><b>".$i." </b>"; 
}else{ 
echo 
"<a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&buscar=".$txt_criterio."'>"; 
echo 
"<class='txtPaginador11b'>".$i."</a> "; 
} 
} 
if(
$pagina<$numPags) 
{ 
echo 
" <a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&buscar=".$txt_criterio."'>"; 
echo 
"<class='txtPaginador11b'>SIGUIENTE >></a>";
} 

// Cierro la conexion
        
mysql_close($conexion);
?> 
  </div>
¿Me podrían decir por que no me aparece el paginador debajo de los resultados?
Muchas gracias y saludos-
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.