Solo para expertos (Problemas con paginacion PHP)
Publicado por Riccardo J. Ríos R. (22 intervenciones) el 12/02/2009 16:28:28
Buenos Dias foreros, gracias por leer este tema, tengo un problemilla, en una pagina donde muestro los resultados de una pagina, estos me salen paginados de 10 en 10, la primera bien, pero cuando paso a la siguiente me muestra otros valores que no son de la busqueda, de igual forma si regreso a una anterior, por lo que necesito su ayuda he estando buscando el error desde hace un dia y no lo consigo, les pego el código a ver si consiguen algo, estoy que tiro la toalla:
resultado_proveedores.php
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de Inventario MyA</title>
<style type="text/css">
<!--
.color {
background-color: #CCCCCC;
}
-->
</style>
</head>
<body>
<p>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Activos_Busqueda_Responsable = 10;
$pageNum_Activos_Busqueda_Responsable = 0;
if (isset($_GET['pageNum_Activos_Busqueda_Responsable'])) {
$pageNum_Activos_Busqueda_Responsable = $_GET['pageNum_Activos_Busqueda_Responsable'];
}
$startRow_Activos_Busqueda_Responsable = $pageNum_Activos_Busqueda_Responsable * $maxRows_Activos_Busqueda_Responsable;
$cedula = isset( $_POST['cedula'] ) ? $_POST['cedula'] : '%';
$nombre = isset( $_POST['nombre'] ) ? $_POST['nombre'] : '%';
$cargo = isset( $_POST['cargo'] ) ? $_POST['cargo'] : '%';
$cedula = mysql_real_escape_string($cedula);
$nombre = mysql_real_escape_string($nombre);
$cargo = mysql_real_escape_string($cargo);
if($cedula!="")
{
$where_cedula = "cedula LIKE '%".$cedula."%'";
}
else
{
$where_cedula = "cedula LIKE '%'";
}
if($nombre!="")
{
$where_nombre = " nombre LIKE '%".$nombre."%'";
}
else
{
$where_nombre = "nombre LIKE '%'";
}
if($cargo!="")
{
$where_cargo = " cargo LIKE '%".$cargo."%'";
}
else
{
$where_cargo = "cargo LIKE '%'";
}
$where_array = array($where_cedula, $where_nombre, $where_cargo);
$where = implode(" AND ", $where_array);
$query_Activos_Busqueda_Responsable = "SELECT * FROM responsable WHERE ".$where." ORDER BY cedula";
$Activos_Busqueda_Responsable = mysql_query($query_Activos_Busqueda_Responsable) or die(mysql_error());
$query_limit_Activos_Busqueda_Responsable = sprintf("%s LIMIT %d, %d", $query_Activos_Busqueda_Responsable, $startRow_Activos_Busqueda_Responsable, $maxRows_Activos_Busqueda_Responsable);
$Activos_Busqueda_Responsable = mysql_query($query_limit_Activos_Busqueda_Responsable) or die(mysql_error());
$row_Activos_Busqueda_Responsable = mysql_fetch_assoc($Activos_Busqueda_Responsable);
if (isset($_GET['totalRows_Activos_Busqueda_Responsable'])) {
$totalRows_Activos_Busqueda_Responsable = $_GET['totalRows_Activos_Busqueda_Responsable'];
} else {
$all_Activos_Busqueda_Responsable = mysql_query($query_Activos_Busqueda_Responsable);
$totalRows_Activos_Busqueda_Responsable = mysql_num_rows($all_Activos_Busqueda_Responsable);
}
$totalPages_Activos_Busqueda_Responsable = ceil($totalRows_Activos_Busqueda_Responsable/$maxRows_Activos_Busqueda_Responsable)-1;
$queryString_Activos_Busqueda_Responsable = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Activos_Busqueda_Responsable") == false &&
stristr($param, "totalRows_Activos_Busqueda_Responsable") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Activos_Busqueda_Responsable = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_Activos_Busqueda_Responsable = sprintf("&totalRows_Activos_Busqueda_Responsable=%d%s", $totalRows_Activos_Busqueda_Responsable, $queryString_Activos_Busqueda_Responsable);
?>
</p>
<p> </p>
<center>
<table border="1">
<tr>
<td><div align="center"><strong>CEDULA</strong></div></td>
<td><div align="center"><strong>NOMBRE</strong></div></td>
<td><div align="center"><strong>CARGO</strong></div></td>
</tr>
<?php $contador = 0; ?>
<?php do { ?>
<tr <?php if ($contador++ % 2) {echo 'class="color"';}?>>
<td><?php echo $row_Activos_Busqueda_Responsable['cedula']; ?></td>
<td><?php echo $row_Activos_Busqueda_Responsable['nombre']; ?></td>
<td><?php echo $row_Activos_Busqueda_Responsable['cargo']; ?></td>
</tr>
<?php } while ($row_Activos_Busqueda_Responsable = mysql_fetch_assoc($Activos_Busqueda_Responsable)); ?>
</table>
<table border="0">
<tr>
<td><?php if ($pageNum_Activos_Busqueda_Responsable > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, 0, $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/First.gif" border="0" /></a>
<?php } // Show if not first page ?>
</td>
<td><?php if ($pageNum_Activos_Busqueda_Responsable > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, max(0, $pageNum_Activos_Busqueda_Responsable - 1), $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/Previous.gif" border="0" /></a>
<?php } // Show if not first page ?>
</td>
<td><?php if ($pageNum_Activos_Busqueda_Responsable < $totalPages_Activos_Busqueda_Responsable) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, min($totalPages_Activos_Busqueda_Responsable, $pageNum_Activos_Busqueda_Responsable + 1), $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/Next.gif" border="0" /></a>
<?php } // Show if not last page ?>
</td>
<td><?php if ($pageNum_Activos_Busqueda_Responsable < $totalPages_Activos_Busqueda_Responsable) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, $totalPages_Activos_Busqueda_Responsable, $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/Last.gif" border="0" /></a>
<?php } // Show if not last page ?>
</td>
</tr>
</table>
</p>
<p>
Registros <?php echo ($startRow_Activos_Busqueda_Responsable + 1) ?> al <?php echo min($startRow_Activos_Busqueda_Responsable + $maxRows_Activos_Busqueda_Responsable, $totalRows_Activos_Busqueda_Responsable) ?> de <?php echo $totalRows_Activos_Busqueda_Responsable ?> </p>
</div>
</p>
<p><a href="/Activos2/busqueda_responsables.php">Regresar/Nueva Búsqueda</a></p>
</center>
</p>
<div align="center"></div>
</body>
</html>
<?php include "desconectarse.php"; ?>
resultado_proveedores.php
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de Inventario MyA</title>
<style type="text/css">
<!--
.color {
background-color: #CCCCCC;
}
-->
</style>
</head>
<body>
<p>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Activos_Busqueda_Responsable = 10;
$pageNum_Activos_Busqueda_Responsable = 0;
if (isset($_GET['pageNum_Activos_Busqueda_Responsable'])) {
$pageNum_Activos_Busqueda_Responsable = $_GET['pageNum_Activos_Busqueda_Responsable'];
}
$startRow_Activos_Busqueda_Responsable = $pageNum_Activos_Busqueda_Responsable * $maxRows_Activos_Busqueda_Responsable;
$cedula = isset( $_POST['cedula'] ) ? $_POST['cedula'] : '%';
$nombre = isset( $_POST['nombre'] ) ? $_POST['nombre'] : '%';
$cargo = isset( $_POST['cargo'] ) ? $_POST['cargo'] : '%';
$cedula = mysql_real_escape_string($cedula);
$nombre = mysql_real_escape_string($nombre);
$cargo = mysql_real_escape_string($cargo);
if($cedula!="")
{
$where_cedula = "cedula LIKE '%".$cedula."%'";
}
else
{
$where_cedula = "cedula LIKE '%'";
}
if($nombre!="")
{
$where_nombre = " nombre LIKE '%".$nombre."%'";
}
else
{
$where_nombre = "nombre LIKE '%'";
}
if($cargo!="")
{
$where_cargo = " cargo LIKE '%".$cargo."%'";
}
else
{
$where_cargo = "cargo LIKE '%'";
}
$where_array = array($where_cedula, $where_nombre, $where_cargo);
$where = implode(" AND ", $where_array);
$query_Activos_Busqueda_Responsable = "SELECT * FROM responsable WHERE ".$where." ORDER BY cedula";
$Activos_Busqueda_Responsable = mysql_query($query_Activos_Busqueda_Responsable) or die(mysql_error());
$query_limit_Activos_Busqueda_Responsable = sprintf("%s LIMIT %d, %d", $query_Activos_Busqueda_Responsable, $startRow_Activos_Busqueda_Responsable, $maxRows_Activos_Busqueda_Responsable);
$Activos_Busqueda_Responsable = mysql_query($query_limit_Activos_Busqueda_Responsable) or die(mysql_error());
$row_Activos_Busqueda_Responsable = mysql_fetch_assoc($Activos_Busqueda_Responsable);
if (isset($_GET['totalRows_Activos_Busqueda_Responsable'])) {
$totalRows_Activos_Busqueda_Responsable = $_GET['totalRows_Activos_Busqueda_Responsable'];
} else {
$all_Activos_Busqueda_Responsable = mysql_query($query_Activos_Busqueda_Responsable);
$totalRows_Activos_Busqueda_Responsable = mysql_num_rows($all_Activos_Busqueda_Responsable);
}
$totalPages_Activos_Busqueda_Responsable = ceil($totalRows_Activos_Busqueda_Responsable/$maxRows_Activos_Busqueda_Responsable)-1;
$queryString_Activos_Busqueda_Responsable = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Activos_Busqueda_Responsable") == false &&
stristr($param, "totalRows_Activos_Busqueda_Responsable") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Activos_Busqueda_Responsable = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_Activos_Busqueda_Responsable = sprintf("&totalRows_Activos_Busqueda_Responsable=%d%s", $totalRows_Activos_Busqueda_Responsable, $queryString_Activos_Busqueda_Responsable);
?>
</p>
<p> </p>
<center>
<table border="1">
<tr>
<td><div align="center"><strong>CEDULA</strong></div></td>
<td><div align="center"><strong>NOMBRE</strong></div></td>
<td><div align="center"><strong>CARGO</strong></div></td>
</tr>
<?php $contador = 0; ?>
<?php do { ?>
<tr <?php if ($contador++ % 2) {echo 'class="color"';}?>>
<td><?php echo $row_Activos_Busqueda_Responsable['cedula']; ?></td>
<td><?php echo $row_Activos_Busqueda_Responsable['nombre']; ?></td>
<td><?php echo $row_Activos_Busqueda_Responsable['cargo']; ?></td>
</tr>
<?php } while ($row_Activos_Busqueda_Responsable = mysql_fetch_assoc($Activos_Busqueda_Responsable)); ?>
</table>
<table border="0">
<tr>
<td><?php if ($pageNum_Activos_Busqueda_Responsable > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, 0, $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/First.gif" border="0" /></a>
<?php } // Show if not first page ?>
</td>
<td><?php if ($pageNum_Activos_Busqueda_Responsable > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, max(0, $pageNum_Activos_Busqueda_Responsable - 1), $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/Previous.gif" border="0" /></a>
<?php } // Show if not first page ?>
</td>
<td><?php if ($pageNum_Activos_Busqueda_Responsable < $totalPages_Activos_Busqueda_Responsable) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, min($totalPages_Activos_Busqueda_Responsable, $pageNum_Activos_Busqueda_Responsable + 1), $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/Next.gif" border="0" /></a>
<?php } // Show if not last page ?>
</td>
<td><?php if ($pageNum_Activos_Busqueda_Responsable < $totalPages_Activos_Busqueda_Responsable) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_Activos_Busqueda_Responsable=%d%s", $currentPage, $totalPages_Activos_Busqueda_Responsable, $queryString_Activos_Busqueda_Responsable); ?>"><img src="/Activos2/Last.gif" border="0" /></a>
<?php } // Show if not last page ?>
</td>
</tr>
</table>
</p>
<p>
Registros <?php echo ($startRow_Activos_Busqueda_Responsable + 1) ?> al <?php echo min($startRow_Activos_Busqueda_Responsable + $maxRows_Activos_Busqueda_Responsable, $totalRows_Activos_Busqueda_Responsable) ?> de <?php echo $totalRows_Activos_Busqueda_Responsable ?> </p>
</div>
</p>
<p><a href="/Activos2/busqueda_responsables.php">Regresar/Nueva Búsqueda</a></p>
</center>
</p>
<div align="center"></div>
</body>
</html>
<?php include "desconectarse.php"; ?>
Valora esta pregunta


0