03/07/2015, 12:03
|
| | Fecha de Ingreso: mayo-2015 Ubicación: Pontevedra
Mensajes: 7
Antigüedad: 9 años, 8 meses Puntos: 0 | |
Problema con paginación. Buenas tardes a todos.
Veréis,tengo un código de paginación que me funciona perfectamente, salvo en la pagina de buscar.
Te explico, yo quiero que me muestre seis registros por página, y en camisetas por ejemplo, me lo hace perfectamente, me muestra los registros y el numero de enlaces dependiendo del total de registros, pero en la pagina buscar(tipico formulario de busqueda), me busca perfectamente, pero si son varias páginas, en la primera me muestra los seis correspondientes pero al darle a los siguientes me muestra todos los productos que tengo,aunque no tenga nada que ver con la búsqueda, o sea todos y aparecen nuevos enlaces, es como si la primera página funcionara correctamente pero en los siguientes resultados no.
Codigo de una página funcionando correctamente.
$sql=mysql_query("SELECT * from productos WHERE (plataforma='gorras') or ( plataforma='camisetas') ORDER BY id DESC");
$consulta=mysql_query("SELECT * from productos WHERE (plataforma='gorras') or ( plataforma='camisetas') ORDER BY id DESC LIMIT $inicio,$registros;");
$num_registros=mysql_num_rows($sql);
$num_paginas=ceil($num_registros/$registros);
while($filas=mysql_fetch_array($consulta)){
$id=$filas['id'];
$nombre=$filas['nombre'];
$imagen=$filas['imagen'];
$descripcion=$filas['descripcion'];
$pvp=$filas['pvp'];
$plataforma=$filas['plataforma'];
$fecha=$filas['fecha'];
$acumula=$filas['acumula'];
$acumulado=$pvp*$acumula;
?>
<div class="col-xs-6 col-sm-6 col-md-4 ContJuegos">
<div class="col-xs-10 col-xs-offset-1 col-lg-10 col-lg-offset-1 ImagenJuego">
<img src="<?php echo $imagen;?>" alt="imagen_juego" class="img-responsive" style="margin:auto"></img>
</div>
<div class="row">
<div class="col-xs-12 col-md-12 JuegosNombre">
<?php echo $nombre;?>
</div>
</div>
<form action="<?php if($pvp>12){echo 'ver.php';}elseif($pvp<=12){echo 'verCamisetas.php';}?>" method="post" name="ver">
<input name="id" type="hidden" value="<?php echo $id ?>"/>
<input name="imagen" type="hidden" value="<?php echo $imagen?>"/>
<input name="nombre" type="hidden" value="<?php echo $nombre ?>"/>
<input name="pvp" type="hidden" value="<?php echo $pvp?>"/>
<input name="fecha" type="hidden" value="<?php echo $fecha?>"/>
<input name="descripcion" type="hidden" value="<?php echo $descripcion?>"/>
<input name="plataforma" type="hidden" value="<?php echo $plataforma?>"/>
<input name="acumula" type="hidden" value="<?php echo $acumula?>"/>
<input name="acumulado" type="hidden" value="<?php echo $acumulado?>"/>
<div class="row">
<div class="col-xs-12 col-md-12 ContButton">
<button class="boton" type="submit">Más Información</button></form>
</div>
</div>
</div>
<?php }?>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-6 col-md-offset-3" style="padding:10px;text-align:center">
<?php
if($pagina>1)
echo "<button class='btn btn-default btn-xs'><a href='camisetas1.php?num=".($pagina-1)."'>Anterior</a></button> ";
for($cont=1;$cont<=$num_paginas;$cont++){ if($cont==$pagina) echo "<button class='btn btn-default btn-xs' style='background:#808080' disabled='disabled'>$cont</button> ";
else
echo "<button class='btn btn-default btn-xs'><a href='camisetas1.php?num=".$cont."'>$cont</a></button> ";
}
if($pagina<$num_paginas)
echo "<button class='btn btn-default btn-xs'><a href='camisetas1.php?num=".($pagina+1)."'>Siguient e</a></button> ";
?>
</div>
</div>
</div>
Ahora la página buscar que es dónde hace lo que comento arriba.
$buscar=$_POST['buscar'];
$registros=6;
$pagina=$_GET["num"];
if(is_numeric($pagina)){
$inicio=(($pagina-1)*$registros);
} else $inicio=0;
$sql=mysql_query("select * from productos where nombre like '%".$buscar."%'");
$consulta=mysql_query("SELECT * from productos where nombre like '%".$buscar."%' LIMIT $inicio,$registros;");
$num_registros=mysql_num_rows($sql);
$num_paginas=ceil($num_registros/$registros);
if($num_registros==0)echo "Lo sentimos, no hemos encontrado ningún resultado, prueba con otras palabras."; else { while($filas=mysql_fetch_array($consulta)){
$id=$filas['id'];
$nombre=$filas['nombre'];
$imagen=$filas['imagen'];
$descripcion=$filas['descripcion'];
$plataforma=$filas['plataforma'];
$pvp=$filas['pvp'];
$fecha=$filas['fecha'];
$acumula=$filas['acumula'];?>
<div class="col-xs-6 col-sm-6 col-md-4 ContJuegos">
<div class="col-xs-10 col-xs-offset-1 col-lg-10 col-lg-offset-1 ImagenJuego">
<img src="<?php echo $imagen;?>" alt="imagen_juego" class="img-responsive" style="margin:auto"></img>
</div>
<div class="row">
<div class="col-xs-12 col-md-12 JuegosNombre">
<?php echo $nombre;?>
</div>
</div>
<form action="<?php if($pvp>12){echo 'ver.php';}elseif($pvp<=12){echo 'verCamisetas.php';}?>" method="post" name="ver">
<input name="id" type="hidden" value="<?php echo $id ?>"/>
<input name="imagen" type="hidden" value="<?php echo $imagen?>"/>
<input name="nombre" type="hidden" value="<?php echo $nombre ?>"/>
<input name="pvp" type="hidden" value="<?php echo $pvp?>"/>
<input name="fecha" type="hidden" value="<?php echo $fecha?>"/>
<input name="descripcion" type="hidden" value="<?php echo $descripcion?>"/>
<input name="plataforma" type="hidden" value="<?php echo $plataforma?>"/>
<input name="acumula" type="hidden" value="<?php echo $acumula?>"/>
<input name="acumulado" type="hidden" value="<?php echo $acumulado?>"/>
<div class="row">
<div class="col-xs-12 col-md-12 ContButton">
<button class="boton" type="submit">Más Información</button></form>
</div>
</div>
</div>
<?php }} ?>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-6 col-md-offset-3" style="padding:10px;text-align:center">
<?php
if($pagina>1)
echo "<button class='btn btn-default btn-xs'><a href='buscar.php?num=".($pagina-1)."'>Anterior</a></button> ";
for($cont=1;$cont<=$num_paginas;$cont++){ if($cont==$pagina) echo "<button class='btn btn-default btn-xs' style='background:#808080' disabled='disabled'>$cont</button> ";
else
echo "<button class='btn btn-default btn-xs'><a href='buscar.php?num=".$cont."'>$cont</a></button> ";
}
if($pagina<$num_paginas)
echo "<button class='btn btn-default btn-xs'><a href='buscar.php?num=".($pagina+1)."'>Siguiente</a></button> ";
?>
</div>
</div>
</div> |