Bueno le puse un buscador a la web que estoy haciendo, funciona bien el buscar, pero así sin paginacion obviamente me tira todas las coincidencias, debo ponerle un paginador. El cual ya lo tenía, pero lo tenía para pasar con metodo get el id del registro en la base de datos ¿me explico? en fin.
Ahora, cuando hago la consulta de la búsqueda, por ejemplo busco "Perro" que en mi base de datos hay una sola coincidencia, me aparece el resultado solo, es decir realizó bien la búsqueda.
El problema es del paginador me parece que es, aunque no se si tambien la consulta ya que en la parte donde en el caso donde sale un solo resultado no deberia aparecer nada porque ocupa solo una página salen paginados tooodos los registros de la base de datos. ASI:
He intentado probando todo, creo que bien puede haber conflictos con el metodo GET o POST, los LIMIT o no se que ¿Me pueden ayudar?
Acá va el codigo:
Código PHP:
<?php
$search=$_POST["search"];
include ('conexion.php');
$registros=8; //cuantos por página
$pagina=$_POST['search'];
if ($pagina=="")
$pagina=1;
if
(is_numeric($pagina))
$inicio=(($pagina-1)*$registros);
else
$inicio=0;
$tabla = mysql_query("SELECT * FROM productos WHERE descripcion LIKE '%$search%' LIMIT $inicio, $registros");
($tabla) or die(mysql_error());
while ($registro = mysql_fetch_array($tabla))
{
echo '<div id="nido">
<div id="thumbnailprod">
<div class="grid_3"id="prod">
<div id="fotoprod">
<a href="detalle.php?id=' .$registro['idproducto'] . '"><img src="scripts/timthumb.php?src=/img/imagenes/'.$registro['imagen'].'&h=90&zc=1" alt="Imagen de ' . htmlentities ($registro['descripcion']) . '" >
</div>
<div id="descprod"><a href="detalle.php?id=' .$registro['idproducto'] . '">' . htmlentities ($registro['descripcion']) . '</a></div></div>
<div class="clear"></div>
</div>
</div>';
}
$tabla_num = mysql_query("SELECT * FROM productos WHERE descripcion LIKE '%$search%'");
$resultado = mysql_fetch_row($tabla_num);
$num_registros = $resultado[0];
$paginas = ceil($num_registros/$registros);
if ($num_registros ==0)
{
echo '<div id="noprod">No se han encontrado productos en esta categoría<br /> <a href="javascript:history.back()"><img src="images/flecha_atras.gif" alt="<-" />Atrás</a></div>';
exit();
}
?>
</div>
<div class="clear"></div>
<div class="grid_6" id="paginador">
<?
if ($pagina>1)
echo '<a href="buscar.php?num='. ($pagina-1) .'"> Anterior </a> ';
for ($cont=1;$cont<=$paginas;$cont++)
{
if ($cont==$pagina)
echo $cont .' ';
else
echo '<a href="buscar.php?num='.$cont.'"> '.$cont.' </a>' ;
}
if ($pagina<$paginas)
echo '<a href="buscar.php?num='.($pagina+1).'"> Siguiente </a> ';
?>