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"];
$palabras= explode(" ", $txt_criterio);
$buscar= implode("%' 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.