Ver Mensaje Individual
  #22 (permalink)  
Antiguo 27/05/2009, 12:48
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Paginar por capas sin resetar la pagina

Hola! Volví dsp de largo tiempo sobre este tema que aún no lo puedo hacer funcionar y a pesar que no me tira ningún error, no me muestra el resultado de la búsqueda dentro del div.

buscador.php
Código HTML:
Código HTML:
<form name="consulta" action="" onsubmit="MostrarConsulta('consulta.php'); return false">
...........
</form> 
consulta.php
Código PHP:
    include('conectar.php');

// declarar variables los datos del formulario
$id_tipopropiedad $_GET['id_tipopropiedad'];
$id_operacion $_GET['id_operacion'];
$select1 $_GET['select1'];
$select2 $_GET['select2'];
$id_moneda $_GET['id_moneda'];

// declarar las condiciones usando la opci&oacute;n WHERE, dependiendo de lo enviado en el formulario
$condiciones "";
if (
$id_tipopropiedad != ""$condiciones .= " AND propiedades.id_tipopropiedad = $id_tipopropiedad";
if (
$id_operacion != "" && $condiciones != ""$condiciones .= " AND propiedades.id_operacion = $id_operacion";
if (
$select1 != "" && $condiciones != ""$condiciones .= " AND propiedades.id_localidad = $select1";
if (
$select2 != "" && $condiciones != ""$condiciones .= " AND propiedades.id_zona = $select2";
if (
$id_moneda != "" && $condiciones != ""$condiciones .= " AND propiedades.id_moneda = $id_moneda";


 
$RegistrosAMostrar=4;

 
//estos valores los recibo por GET
 
if(isset($_GET['pag'])){
  
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
  
$PagAct=$_GET['pag'];
  
//caso contrario los iniciamos
 
}else{
  
$RegistrosAEmpezar=0;
  
$PagAct=1;
 }

 
$Resultado=mysql_query("SELECT * FROM propiedades ...... $condiciones ORDER BY id_propiedad LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$conexion);
 
 echo 
"<table border='1px'>";
 while(
$MostrarFila=mysql_fetch_array($Resultado)){
  echo 
"<tr>";
  echo 
"<td>".$MostrarFila['id_propiedad']."</td>";
  echo 
"<td>".$MostrarFila['direccion']."</td>";
  echo 
"<td>".$MostrarFila['foto']."</td>";
  echo 
"</tr>";
 }
 echo 
"</table>";

 
//******--------determinar las páginas---------******//
 
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM propiedades.... $condiciones ORDER BY id_propiedad",$conexion));
 
 
$PagAnt=$PagAct-1;
 
$PagSig=$PagAct+1;
 
$PagUlt=$NroRegistros/$RegistrosAMostrar;

 
//verificamos residuo para ver si llevará decimales
 
$Res=$NroRegistros%$RegistrosAMostrar;

 
// si hay residuo usamos funcion floor para que me
 // devuelva la parte entera, SIN REDONDEAR, y le sumamos
 // una unidad para obtener la ultima pagina
 
if($Res>0$PagUlt=floor($PagUlt)+1;
 
 
//desplazamiento
 
echo "<a href='javascript:Pagina(1)'>Primero</a> ";
     if(
$PagAct>1
         echo 
"<a href='javascript:Pagina(" $PagAnt")'>Anterior</a> ";

 echo 
"<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
     if(
$PagAct<$PagUlt)
         echo 
"<a href='javascript:Pagina(" .$PagSig")'>Siguiente</a> ";

 echo 
"<a href='javascript:Pagina(" .$PagUlt")'>Ultimo</a>"

INDEX.PHP
Código:
// MOSTRAR RESULTADOS DE LA CONSULTA
function MostrarConsulta(datos){
	divResultado = document.getElementById('resultado');
	ajax=objetoAjax();
	ajax.open("GET", "consulta.php?pag="+nropagina+"&id_tipopropiedad="+id_tipopropiedad+"&id_operacion="+id_operacion+"&select1="+select1+"&select2="+select2+"&id_moneda="+id_moneda);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			divResultado.innerHTML = ajax.responseText
		}
	}
ajax.send(null)
}


// PAGINAR RESULTADOS
function Pagina(nropagina){
 //donde se mostrará los registros
 divContenido = document.getElementById('resultado');
 
 ajax=objetoAjax();
 //uso del medoto GET
 //indicamos el archivo que realizará el proceso de paginar
 //junto con un valor que representa el nro de pagina
 ajax.open("GET", "consulta.php?pag="+nropagina);
 divContenido.innerHTML= '<img src="anim.gif">';
 ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
   //mostrar resultados en esta capa
   divContenido.innerHTML = ajax.responseText
  }
 }
 //como hacemos uso del metodo GET
 //colocamos null ya que enviamos 
 //el valor por la url ?pag=nropagina
 ajax.send(null)
}


  <?php include('buscador.php')?>

<div id="resultado"></div>
Cuando presiono en BUSCAR no muestra los resultados dentro del div ni me tira ningún error.

¿Podrían decirme por favor si la parte de ajax está bien o no, o si me falta agregarle algo? ¿Podrían decirme qué estoy haciendo mal?

¿Está bien puesta a orden en el form como lo que escribí en el onSubmit?

Llevo tiempo con esto y me cuesta entenderlo, por eso les pido encarecidamente a los que saben si pueden darme una mano.
Aunque sea tonto o no lo crean, a quienes algunas cosas les parezca muy fácil, a otros nos cuesta.

Gracias nuevamente y saludos cordiales.

Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.