Hola amigos
tengo los resultados de mi campo de búsqueda y estos deben ir paginados de 8 en 8.
Aparentemente en la página de resultados sale correcto, o sea por ejemplo si busco perro me aparecen los 8 perros que le dije y 4 páginas más disponibles con perros.
Pero al hacer click en la página siguiente me aparecen TODOS los registros de la tabla pongamosle animales desde el primero y son como unas 700 paginas por lo menos. no me muestra los perros.
Procesando y pensando, debería ser que al pasar a la segunda página tiene que seguir pasando lo que se buscó a las otras páginas y eso creo que es por variables de session.
Pero no me resulta!! y si hago un print_r($_SESSION); me muestra variables con nombres antiguos que no las uso ahora.
Este es el código de la página donde tengo el buscador:
Código PHP:
<?php
session_start();
$_SESSION['search'] = $_POST["search"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.</title>
</head>
<body>
<div class="grid_2 alpha" id="lateral">
<div id="objlado">
<div class="omega"id="motordebusqueda">
Buscar en WMF.cl
<form method="post" action="buscar.php">
<input name="search" type="text" size="15" maxlength="30" />
<input name="Submit" type="Submit" value="IR" />
</form>
.....
Y este es el código con que realiza la búsqueda:
Código PHP:
<?php
session_start();
$search = $_SESSION['search'];
print_r($_SESSION); // me muestra algo asi como Array ( [buscasearch] => [search] => ) y al pasar a la segunda pagina Array ( [buscasearch] => [search] => LOQUEBUSCO ) ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WMF - Comercial Los Andes S.A.</title>
</head>
<body>
<div class="container_12">
<div class="grid_10" id="contenedor">
<?php include ('includes/cabeza.php');?>
<?php include ('includes/menusomos.php');?>
<!-- Inicio del contenido --->
<div class="grid_10" id="todo">
<div class="grid_4 alpha" id="cuadro">
<div id="titulo">El Mundo de WMF</div>
<div id="subtitulo">La vida sabe a placer</div>
</div>
<!-- Fin del cuadro de color--->
<div class="grid_4" id="imginicio"><img src="images/wmf300imgtienda.jpg" alt="Topserve"/></div>
<!-- Fin del cuadro de imagen principal--->
<?php include ('includes/lateral.php');?>
<!-- Fin lateral--->
<div id="contenido">
<?php
$search=$_POST["search"];
include ('conexion.php');
$registros=8; //cuantos por página
$pagina=$_GET['num'];
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 count(*) FROM productos WHERE descripcion LIKE '%$search%'");
$resultado = mysql_fetch_array($tabla_num);
$num_registros = $resultado[0];
$paginas = ceil($num_registros/$registros);
if ($num_registros ==0)
{
echo '<div id="noprod">No se han encontrado resultados <br /> <a href="index.php"><img src="images/flecha_atras.gif" alt="<-" />Inicio</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> ';
?>