FOROS DE INFORMATICA
Noticias: Habilitada la opción de Karma para usuarios con más de 50 mensajes
 
*
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
Septiembre 23, 2019, 07:29:27


Ingresar con nombre de usuario, contraseña y duración de la sesión


Páginas: [1]
  Imprimir  
Autor Tema: Problema con paginación en PHP  (Leído 2834 veces)
programador_independiente
Nuevo
*

Karma:0
Desconectado Desconectado

Mensajes: 2


« : Septiembre 20, 2014, 02:17:45 »

Buen día compañeros mi problema es el siguiente:

Estoy realizando un sitio web de una inmobiliaria. Tengo un buscador que me muestra las casas según la ciudad a la que pertenecen. Le incluí el sistema de paginación y funciona muy bien, excepto por un detalle, en el cual quisiera me echaran una mano:

tengo 8 registros de prueba en mi base de datos, de los cuales 7 pertenecen a la ciudad llamada "abasolo" y 1 pertenece a la ciudad de "monterrey", ahora bien la paginación la tengo por defecto para que muestre 6 viviendas por página;

al realizar la búsqueda de las 7 viviendas de abasolo, en la primer página se muestran las primeras 6 viviendas de abasolo, hasta aquí todo bien, pero al ir a la segunda página, ya no me muestra la vivienda #7 de abasolo, sino que me muestra la vivienda #3 de abasolo y también me muestra la vivienda de monterrey.

Me podrían ayudar a solucionar este problema?

dejo el código del archivo donde hago las búsquedas y de la librería que utilizo para que se realice la paginación, muchas gracias a todos y que Dios les Bendiga y les Conserve la Salud.

nombre del archivo: busca_grand_nl.php
Código:
<section id="contenedor_buscador">
    <aside id="izquierda">
<h4>Buscar Propiedades de Nuevo Le&oacute;n</h4><br>
<form name="form1" method="post" action="busca_grand_nl.php">
<label>B&uacute;squeda por Colonia:</label>
<input type="text" name="txtBusqueda" id="txtBusqueda">
<label>Elija Municipio*:</label>
<select name="selCiudad" id="selCiudad">
<option value="-1" selected>Ver todas las Propiedades</option>
<?php
$tablaciudades mysql_query("SELECT * FROM municipios_monterrey ORDER BY nombre_mun ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>

<option value="<?php echo $registrociudad['id_mun']; ?>"><?php echo $registrociudad['nombre_mun']; ?></option>
<?php
// termina la zona de repeticion
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>

</select>

<input type="submit" name="cmdBuscar" id="cmdBuscar" value="&nbsp;Buscar&nbsp;">
</form>

<h5>Los campos marcados con (*) son obligatorios</h5>
</aside>
<article id="derecha">
<h2>Resultados de su b&uacute;squeda</h2>
<?php
$_pagi_sql "SELECT propiedades.*, municipios_monterrey.* FROM propiedades, municipios_monterrey WHERE propiedades.id_mun = municipios_monterrey.id_mun ";
if (isset($_POST['txtBusqueda'])) {
$_pagi_sql .= " AND propiedades.colonia LIKE '%" $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$_pagi_sql .= " AND propiedades.id_mun = '" intval($_POST['selCiudad']) . "'";
}
}
$_pagi_sql .= " ORDER BY municipios_monterrey.nombre_mun ASC";
//inicio de código para paginacion
$_pagi_conteo_alternativo=true;
$_pagi_cuantos 6;
include("paginator.inc.php");
//fin de código para paginacion

$tabla mysql_query($_pagi_sql);

/*de aqui hasta el "else{" es el codigo para poner el mensaje de "no se encontraron resultados y el "}" que cierra esta al final, despues de "mysql_close($conexion);".*/
$num_filas=mysql_num_rows($tabla);
if($num_filas==0){
echo "<center>No se encontraron resultados para su b&uacute;squeda</center>";
}
else{ //inicio de código para paginacion aqui se cambio ($tabla)) por ($_pagi_result))
while ($registro mysql_fetch_array($_pagi_result)) 
{
?>


<?php $id $registro['id_dir'];?><!--En esta línea del código va entre corchetes el id de la tabla propiedades-->


<div class="propiedades">
<img id="img_array"src="<?php echo $registro['imagen'];?>"/><br><br>
<label>Direccion:<?php echo $registro['direccion']; ?></label><br>
<label>Colonia:<?php echo $registro['colonia']; ?></label><br>
<label>Municipio:<?php echo $registro['municipio']; ?></label><br>
<label>Estado:<?php echo $registro['estado']; ?></label><br>
<label>Estatus:<?php echo $registro['estatus']; ?></label><br>
<img id="img_precio" src="../img/etiqueta_precio.png"/><label id="precio"><?php echo $registro['precio'];?></label><br>
<a href="detalles.php?id_dir=<?php echo $id?>"><img id="img_llave" class="fade" src="../img/llave_detalle.png"/></a><label id="llave">Ver Detalles</label>
</div>

<?php
}
?>

<!--inicio de código para paginacion-->
<?php echo"<br><div class='barra-navegacion'><p>".$_pagi_navegacion."</p></div>"?>
<!--fin de código para paginacion-->
<?php
mysql_free_result($tabla);
mysql_close($conexion);
}
?>


</article>
</section>

nombre del archivo: paginator.inc.php, esta es la librería que realiza el trabajo de la paginación, el sistema no me permite poner el código ya que es muy largo, pero aqui dejo el link de descarga del archivo:

http://www.desarrolloweb.com/articulos/ejemplos/paginator.inc.php.zip

Por cierto ya en otro foro sólo me dijeron que este problema se resuelve de la siguiente manera, pero como soy novato no sé cómo hacerlo, cito textualmente:

"lo unico que tenes que hacer es mantener los filtros cada vez que vaz paginando".

Muchas gracias a todos de antemano por sus respuestas Dios les Bendiga y les Conserve la Salud
En línea
programador_independiente
Nuevo
*

Karma:0
Desconectado Desconectado

Mensajes: 2


« Respuesta #1 : Septiembre 25, 2014, 09:04:46 »

Doy por concluido el tema ya que yo mismo he encontrado la solucion.  Educado
En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.13 | SMF © 2006-2009, Simple Machines LLC

XHTML 1.0 válido! CSS válido! Dilber MC Theme by HarzeM