13/09/2013, 07:03
|
| | Fecha de Ingreso: septiembre-2013
Mensajes: 6
Antigüedad: 11 años, 3 meses Puntos: 0 | |
Respuesta: Problemas con indice de paginación. Hola. Creo que me he explicado mal. El limite de productos por página lo tengo bien y lo puedo cambiar cuando quiera con el limit. Lo que me gustaria es que no me salieran todas las paginas en el indice, donde tu pinchas para pasar de pagina. Te agradezco el enlace que me pasaste pero si te fijas en el codigo ese tampoco hace lo que quiero, limitar los numeros que aparecen en el indice.
Voy a poner todo el codigo y veras que ya tengo la funcion LIMIT en la consulta y todo lo demas funciona bien:
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Rs = 22;// este numero es el numero de resultados que quieren que se vean por pagina pueden poner algo asi: $maxRows_Rs = 6; para ver paginas con 6 resultados
$pageNum_Rs = 0;
if (isset($_GET['pageNum_Rs'])) {
$pageNum_Rs = $_GET['pageNum_Rs'];
}
$startRow_Rs = $pageNum_Rs * $maxRows_Rs;
mysql_select_db($db);
$query_Rs = "SELECT * FROM productos ORDER BY nombre ASC"; // SELECT Anterior
if (isset($_GET['id'])) // Si existe la variable "id" en la barra url...
{
$id = $_GET['id'];
$query_Rs = "SELECT * FROM productos WHERE nombre = '$id' ORDER BY nombre ASC";
}
//*BUSCADOR DE REGISTROS!*/
$query_limit_Rs = sprintf("%s LIMIT %d, %d",$query_Rs, $startRow_Rs, $maxRows_Rs);
$Rs = mysql_query($query_limit_Rs, $conexion) or die(mysql_error());
$row_Rs = mysql_fetch_assoc($Rs);
if (isset($_GET['totalRows_Rs'])) {
$totalRows_Rs = $_GET['totalRows_Rs'];
} else {
$all_Rs = mysql_query($query_Rs);
$totalRows_Rs = mysql_num_rows($all_Rs);
}
$totalPages_Rs = ceil($totalRows_Rs/$maxRows_Rs)-1;
$queryString_Rs = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Rs") == false &&
stristr($param, "totalRows_Rs") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Rs = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_Rs = sprintf("&totalRows_Rs=%d%s", $totalRows_Rs, $queryString_Rs);
?>
<?php do { ?>
<div class="caja">
<div class="cajafoto"><img src="<?php echo $row_Rs ['imagen']?>" width="100" height="90"></div>
<div class="cajanombre"><?php echo $row_Rs ['nombre']?></div>
<div class="cajaprecio1"><p><b>Precio:</b><?php echo $row_Rs ['precio']?>€</div>
<div class="cajaprecio2"></div>
<div class="cajaprecio3"> <form action="detalle.php" method="post" name="detalle">
<input name="id" type="hidden" value="<?php echo $row_Rs ['id']?>"/>
<input class="button" type="submit" value="Detalle"/>
</form></div>
</div>
<?php } while ($row_Rs = mysql_fetch_assoc($Rs));
?>
</table></td>
</tr>
<tr>
<td><table width="590" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><img src="images/wna_linea_horiz.gif" width="580" height="1"></td>
</tr>
<tr>
<td height="10"><table width="590" height="34" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#FBFBFB">
<td width="65" class="texto-chico"><div align="center">
<?php if ($pageNum_Rs > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Rs=%d%s", $currentPage, 0, $queryString_Rs); ?>" class="txt-paginador"><strong>Primero</strong></a>
<?php } // Show if not first page ?>
</div></td>
<td width="80" class="texto-chico"><div align="center">
<?php if ($pageNum_Rs > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Rs=%d%s", $currentPage, max(0, $pageNum_Rs - 1), $queryString_Rs); ?>" class="txt-paginador"><strong> < Anterior</strong></a>
<?php } // Show if not first page ?>
</div></td>
<td width="312"><div align="center" class="titCategoria"><strong>
<?php
$last=$totalPages_Rs+1;
$current=$pageNum_Rs+1;
for ($i = 1; $i <= $last; $i++) {
if($current==$i){
echo $i." .";
}else{?>
<a href="<?php printf("%s?pageNum_Rs=%d%s", $currentPage, min($totalPages_Rs, $i-1), $queryString_Rs); ?>"><? echo $i;?></a>
<?
}
}
?>
</strong></div></td>
<td width="77"><div align="right" class="txt-paginador">
<?php if ($pageNum_Rs < $totalPages_Rs) { // Show if not last page ?>
<div align="center"><a href="<?php printf("%s?pageNum_Rs=%d%s", $currentPage, min($totalPages_Rs, $pageNum_Rs + 1), $queryString_Rs); ?>" class="txt-paginador"><strong>Siguiente > </strong></a> </div>
<?php } // Show if not last page ?>
</div></td>
<td width="56"><div align="right">
<?php if ($pageNum_Rs < $totalPages_Rs) { // Show if not last page ?>
<div align="center" class="txt-paginador"><span class="titCategoria"><a href="<?php printf("%s?pageNum_Rs=%d%s", $currentPage, $totalPages_Rs, $queryString_Rs); ?>" class="txt-paginador"><strong>Ultimo</strong></a></span> </div>
<?php } // Show if not last page ?>
</div></td>
</tr>
</table>
<div align="left"></div>
<table width="590" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td height="26"><div align="right" class="text-marroncito"><strong>Está en la Página:
<?
if($totalPages_Rs==0){
echo "0/0";
}else{
echo $pageNum_Rs+1;
echo "/";
echo $totalPages_Rs+1;
}
?>
</strong></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</div>
</div> |