Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2009, 00:46
astcv
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
paginacion base de datos

hola, antes de nada daros las gracias por la ayuda que ya me habeis prestado en otras ocasiones y por el tiempo que le dedicais a esta Web, es de una ayuda increible, espero que dentro de un tiempo yo tambien pueda ayudar a otros.

Os cuento mi problema actual, tengo una consulta de una base de datos definida en MySql y funciona bien, pero le he añadido la paginación y aunque funciona tambien bien, me sale en pantalla el simbolo de avanzar a la siguiente pagina "siempre", no solo cuando realmente supera el numero de registros que tengo definidos (15), me podeis echar una mano porfa? supongo que es una tonteria pero no sé verlo, os adjunto ´parte del codigo por si os hace falta,

....
$maxRows_extracto = 15;
$pageNum_extracto = 0;
if (isset($_GET['pageNum_extracto'])) {
$pageNum_extracto = $_GET['pageNum_extracto'];
}
$startRow_extracto = $pageNum_extracto * $maxRows_extracto;

$varuser_extracto = "-1";
if (isset($_SESSION['MM_Username'])) {
$varuser_extracto = $_SESSION['MM_Username'];
}
mysql_select_db($database_clientes, $clientes);
$query_extracto = sprintf("SELECT extracto.fecha, extracto.movimiento, extracto.debe, extracto.haber, extracto.numdoc, extracto.saldo FROM extracto WHERE extracto.codcliped=%s", GetSQLValueString($varuser_extracto, "int"));
$query_limit_extracto = sprintf("%s LIMIT %d, %d", $query_extracto, $startRow_extracto, $maxRows_extracto);
$extracto = mysql_query($query_limit_extracto, $clientes) or die(mysql_error());
$row_extracto = mysql_fetch_assoc($extracto);

if (isset($_GET['totalRows_extracto'])) {
$totalRows_extracto = $_GET['totalRows_extracto'];
} else {
$all_extracto = mysql_query($query_extracto);
$totalRows_extracto = mysql_num_rows($all_extracto);
}
$totalPages_extracto = ceil($totalRows_extracto/$maxRows_extracto)-1;

$queryString_extracto = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_extracto") == false &&
stristr($param, "totalRows_extracto") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_extracto = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_extracto = sprintf("&totalRows_extracto=%d%s", $totalRows_extracto, $queryString_extracto);

....
<?php do { ?>
<tr class="style5">
<?php
//** Formateamos fecha de pedido **
$fecha_mysql=$row_extracto['fecha'];
$trozos=split("-", $fecha_mysql);
$temp=split(" ",$trozos[2]);
$dia=$temp[0];
$fecped=mktime(0,0,0,$trozos[1], $dia, $trozos[0]);
//** Fin del formateo
?>
<td><div align="center"><?php echo strftime("%d-%m-%Y", $fecped); ?></div></td>
<td><div align="left"><?php echo $row_extracto['movimiento']; ?></div></td>
<td><div align="right"><?php echo number_format($row_extracto['debe'], 2, ",", "."); ?></div></td>
<td><div align="right"><?php echo number_format($row_extracto['haber'], 2, ",", "."); ?></div></td>
<td><div align="right" class="style6"><?php echo number_format($row_extracto['saldo'], 2, ",", "."); ?></div></td>
<td><div id="ojo" ><a href="consulta_detalle_vtos.php"><img src="ojopeq.jpg" alt="" name="photo1" width="20" height="13" border="0" class="mano" id="photo1" onmouseover="MM_showHideLayers('visualizar','','sh ow')" onmouseout="MM_showHideLayers('visualizar','','hid e')" /></a></div></td>
<td><div id="pdf"><a href="Facturas_clientes/<?php echo $row_extracto['numdoc']. '.pdf'?>"><img src="pdfpeq.jpg" alt="" name="photo2" width="20" height="13" border="0" class="mano" id="photo2" onmouseover="MM_showHideLayers('visualpdf','','sho w')" onmouseout="MM_showHideLayers('visualpdf','','hide ')" /></a></div></td>
</tr>
<?php } while ($row_extracto = mysql_fetch_assoc($extracto)); ?>
</table>

<div id="siguiente" align="center"><a href="<?php printf("%s?pageNum_extracto=%d%s", $currentPage, min($totalPages_extracto, $pageNum_extracto + 1), $queryString_extracto); ?>" class="style6">avanzar</a></div>

gracias anticipadas

...