Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/10/2011, 04:30
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Duda con buscador exacto de frases

Lo que hice fue tomar un ejemplo que encontré en el foro y aplicarlo en mi consulta. El ejemplo lo tomé de acá, del foro por supuesto: Ayuda con Buscador...

Código PHP:
// varificamos que el formulario halla sido enviado
if(isset($_GET['buscar']) && $_GET['buscar'] == '>>'){ 

// declarar variables los datos del formulario
$txt_criterio $_GET["txt_criterio"];
$palabrasexplode(" "$txt_criterio);
$buscarimplode("%' OR LIKE '%"$palabras);

$sqlBuscar "SELECT * FROM producto WHERE descripcion LIKE '%".$buscar."%' ORDER BY categoria, cod_linea, cod_articulo" or die(mysql_error());

$res mysql_query($sqlBuscar); 
$numeroRegistros mysql_num_rows($res);

//calculo el total de páginas, 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



$sqlBuscar "SELECT * FROM producto WHERE descripcion LIKE '%".$buscar."%' ORDER BY categoria, cod_linea, cod_articulo LIMIT $limitInf, $tamPag2" or die(mysql_error());

$res mysql_query($sqlBuscar); 

Pero me da error "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in..." en esta línea:

$numeroRegistros = mysql_num_rows($res);

Y el paginador es este, en el cual también necesito pasar las variables para que funcione:
Código PHP:
if($pagina>1

echo 
"<a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&txt_criterio=".$txt_criterio."&buscar=>>'>"
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."&txt_criterio=".$txt_criterio."&buscar=>>'>"
echo 
"<class='txtPaginador11b'>".$i."</a>*"


if(
$pagina<$numPags

echo 
"*<a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&txt_criterio=".$txt_criterio."&buscar=>>'>"
echo 
"<class='txtPaginador11b'>SIGUIENTE >></a>";


echo 
"<div id='total_paginador'><font face='verdana' size='-2'>Total: ".$numeroRegistros." resultados</div>";

mysql_close($conexion); 
Le cambié la variable $txt_criterio por $buscar pero tampoco funcionó como para que me tome las variables así:
rpauto-resultb.php?txt_criterio=arranque%gol

pero no funcionó.

¿Me pueden decir donde está el error por favor?

Muchas gracias por la ayuda y saludos.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.