Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2010, 02:36
Ojopex2
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años
Puntos: 2
Pregunta problemas con paginacion de resultados del buscador (metodo POST)

Hola amigos, estoy en aprietos y esta vez no entiendo lo que pasa.

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> ';

?>
Saludos