Comunidad de diseño web y desarrollo en internet online

Paginacion PHP-MySql [1] [2] [3] Problemita

Citar            
MensajeEscrito el 18 Sep 2009 08:10 pm
Hola disculpen mi inorancia pero tengo un problemita con paginar un resultado aqui le dejo mi codigo
esto es una busqueda en el cual arroja mis resultado pero en la paginacion tengo problema

[1] [2] siguiente
al selecionar la categoria de "CASA" solamente cuando doy el clik a siguiente me muestra los "APARTAMENTO"
y asi tambien al estilo contrario la primera busqueda funciona pero cuando utilizo la funcion de paginacion
se muestran todos los contenido de la Base.

1 primero tengo mi form de busqueda que esta asi

inicio.php

Código :

<form enctype="multipart/form-data" method="post" action="resultado.php">
<p>Provincia :
<select name="provincia" id="provincia">
<option selected="selected">Distrito Nacional</option>
<option>Santo Domingo</option>
 <option>Valverde</option>
</select>
 <select name="inmueble" id="inmueble">
<option>Casa</option>
<option>Apartamento</option>
</select>
<input name="Submit" value="Buscar" type="submit" />
</form>   


este es formulario que me funciona muy bien.

resultado.php

Código PHP :

<?php               
// Datos de conexión a la base
$base="database";
$con=mysql_connect("localhost", "usuario", "contraseñal");
mysql_select_db($base,$con);

if (isset($_POST['inmueble'])) { 
  $cadena = htmlentities($_POST['inmueble']);
   }

if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=3; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM propiedad WHERE inmueble LIKE '%$cadena%' ORDER BY idfoto LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM propiedad WHERE inmueble LIKE '%$cadena%' ORDER BY idfoto";
$contarok = mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
// esta esto son los resultado
  echo "<span class=borde>";
  echo "<span class=gallery>";
  echo "<strong>Inmueble:</strong> ";
  echo $array['inmueble'];
  echo "</br>";  
  echo "<strong>Provincia:</strong> ";
  echo $array['provincia'];
  echo "</br>";
  echo "<strong>Opcion:</strong> ";
  echo $array['opcion'];
  echo "</br></br>";  
  echo "</span>";
  echo "</span>";
  echo "</br>"; 
}

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación  la operacion matematica
echo "<p class=fonty>";
if ($pg != 0) {
$url = $pg - 1;
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
} else {
echo " ";
}
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo "<b> 1 </b>";
} else {
$i = $i+1;
echo "<b> ".$i." </b>";
}
} else {
if ($i == "0") {
echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
} else {
echo "<a href='$PHP_SELF?pg=".$i."'>";
$i = $i+1;
echo $i."</a>&nbsp;";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
} else {
echo " ";
}
echo "</p>";
?>


bueno los resultado se imprimen bien y la selecion de busqueda tambien
cuando seleciono el inmueble "CASA" me salen perfecto pero cuando doy clik
para ver los "SIGUIENTES" se muestran todos los demas como "APARTAMENTO"
y solo quiero ver las casa. :( :?

le dejo este link para que puedan observar
http://onehouse.webcindario.com/paginar.php

en el link seleciones DISTRITO NACIONAL y CASA luego utilizen la paginacion y veran el problemita

Por scowtmaster

21 de clabLevel



Genero:Masculino  

Rep Dom

firefox
Citar            
MensajeEscrito el 18 Sep 2009 08:27 pm
ahi esta casi todo, ojo no debes usar * en las consultas de producción

te falta saber cuantos resultados tienes para la consulta sin restricciones para luego dividir este resultado por el numero de filas por pagina y saber cuantas paginas tienes en total.

Código MySQL :

SELECT COUNT(p.inmueble) FROM propiedad p  WHERE p.inmueble LIKE '%$cadena%' ;

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.