PHP - Solo para expertos (Problemas con paginacion PHP)

   
Vista:

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"; ?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Solo para expertos (Problemas con paginacion PH

Publicado por miguel (1 intervención) el 12/02/2009 17:15:18
Yo se donde esta el problema, pero no te lo puedo decir porque no soy experto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Solo para expertos (Problemas con paginacion PH

Publicado por Carlos (2 intervenciones) el 07/02/2012 21:40:25
Oye, para expertos? pero si el problema es sencillo, bueno, me uno a miguel... te recomiendo que uses esta clase php paginacion php, que puede ser para expertos también.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar