Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[SOLUCIONADO] Paginador

Estas en el tema de Paginador en el foro de Frameworks JS en Foros del Web. Estimados necesito verdaderamente de su ayuda, no soy muy ducho con ajax, pero implemente un paginador con una consulta general para traer todos los datos ...
  #1 (permalink)  
Antiguo 04/01/2011, 17:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Busqueda Paginador

Estimados necesito verdaderamente de su ayuda, no soy muy ducho con ajax, pero implemente un paginador con una consulta general para traer todos los datos de la base, y me trae todos, los pagina y hace el conteo de datos ok, ahora cuando pongo algunos filtros que vienen de un buscador, me los pagina bien lee todo ok, pero cuando doy siguiente se pierden los datos de búsqueda, y claro está me da error de mysql ya que la consulta no se puede realizar sin los datos a buscar.

Ahora yo se donde está el problema, es que las variables que están en el php no pasa por el archivo ajax por lo cual se pierde.

Mi consulta es por ejemplo

tengo la variable $A= _REQUEST ['A']; que recibe el archivo pepe.php
luego se pone el codigo php de la consulta y el paginador, este paginador pasa la variable npagina del paginador por el archivo ajax, pero no la de $A, ahora como puedo pasar esa variable por el archivo ajax, si me pueden dar la respuesta me ayudarian un monton para dar por terminado un trabajo importante que estoy haciendo, muchas gracias.-

les dejo el ajax_paginador.js para ver si me pueden ayudar
Código PHP:
function objetoAjax(){
 var 
xmlhttp=false;
  try{
   
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(
e){
   try {
    
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   }catch(
E){
    
xmlhttp false;
   }
  }
  if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
   
xmlhttp = new XMLHttpRequest();
  }
  return 
xmlhttp;
}

function 
Pagina(nropagina){
 
//donde se mostrará los registros
 
divContenido document.getElementById('contenido');
 
 
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""propiedades-buscador.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)

  #2 (permalink)  
Antiguo 04/01/2011, 22:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Paginador

recuerda que AJAX no es más que una técnica para hacer peticiones HTTP al servidor sin recargar la página, por lo tanto puedes enviar todo un formulario por POST o GET (porque tu problema es que no envías todos los datos al paginador en php), pero el problema es serializarlo, frameworks como jQuery disponen de una función serialize(), si no, puedes hacerla o buscar una, suerte

PD: de preferencia se utiliza POST al no tener limitaciones por el tamaño del URL
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/01/2011, 17:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Respuesta: Paginador

Gracias por responder,

La verdad es que no encuentro el error te dejo mi codigo donde se recibe la informacion por post desde el formulario de consulta, que despues me cancela la operacion cuando paso a la segunda pagina a ver si me podes ayudar mejor, gracias

Código PHP:
<? include ("login/dbconexion.php");    

$tipo $_POST ['tipo']; 
$amb $_POST ['amb']; 
$localidad $_POST ['localidad']; 
$barrio $_POST ['barrio']; 
$tprop $_POST ['tprop']; 
$precio $_POST ['precio']; 

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


$query "SELECT * FROM propiedades"
$conditions = array(); 

if( 
$tipo != "0" ) { 
      
$conditions[] = "tipo = '$tipo'"

if( 
$amb != "0" ) { 
      
$conditions[] = "amb = '$amb'"

if( 
$localidad != "0" ) { 
      
$conditions[] = "localidad = '$localidad'"

if( 
$barrio != "0" ) { 
      
$conditions[] = "barrio = '$barrio'"

if( 
$tprop != "0" ) { 
      
$conditions[''] = "tprop = '$tprop'"




if( 
count$conditions[''] ) > ) { 
$query .= " WHERE " implode " AND "$conditions) ; // = SELECT * FROM propiedades WHERE pais = 'españa' AND localidad = 'galicia' AND etc 


//$result=mysql_query("select * from propiedades ORDER BY codigo LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con); 
  
$sql mysql_query($query ."ORDER BY codigo LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con);  

echo 
$query."<br><br><br>"
echo 
"Su búsqueda fue:<br>"
echo 
"<br>".$tprop."&nbsp;en&nbsp;".$tipo."&nbsp;".$amb."&nbsp;ambientes&nbsp;".$barrio."&nbsp;".$localidad;  
echo 
"<br>"
echo 
"<br>Precio".$precio."<br>"
//while($row=mysql_fetch_array($result)) 
  
while($row=mysql_fetch_array($sql)){  
    echo 
"<tr>"
    echo 
"<td height='10' align='right' valign='top'><strong></strong></td>"
    echo 
"</tr>"
    echo 
"<tr>"
    echo 
"<td width='417' height='272' align='left' valign='top'>"
    echo 
"<table width='415' border='0'>"
    echo 
"<tr>"
    echo 
"<td width='409' height='23'>"
    echo 
"<table width='462' border='0' align='left'>"
    echo 
"<tr valign='top'>"
    echo 
"<td height='29' align='right'>&nbsp;</td>"
    echo 
"<td align='right'><strong>Codigo de propiedad&nbsp;</strong>" .$row['codigo']."</td>"
    echo 
"</tr>"
    echo 
"<tr>"
    echo 
"<td width='276'>".$row['titulo']."<br></strong></td>"
    echo 
"<td width='176'>".$row['estado']."</td>"
    echo 
"</tr>"
    echo 
"</table></td>"
    echo 
"</tr>"
    echo 
"<tr>"
    echo 
"<td height='225' align='left' valign='top'><table width='418' border='0'>"
    echo 
"<tr>"
    echo 
"<td width='212' height='165' align='left' valign='top'><table width='156' border='0'>"
    echo 
"<tr>"
    echo 
"<td width='150' height='56'>"
    echo 
"<table width='203' border='0'>"
    echo 
"<tr>"
    echo 
"<td width='197'>"
    echo 
"<p><img src='".$row['foto1']."' width='160' height='120'/></p>";     
    echo 
"</td>"
    echo 
"</tr>"
    echo 
"<tr>"
    echo 
"<td height='24'>&nbsp;</td>"
    echo 
"</tr>"
    echo 
"</table>"
    echo 
"</td>"
    echo 
"</tr>"
    echo 
"<tr>"
    echo 
"</td>"
    echo 
"</tr>"
    echo 
"</table></td>"
    echo 
"<td width='196' align='left' valign='top'>"
    echo 
"<p><br>"
    echo 
"<strong>Direccion:</strong><br>".$row['direct']."<br>".$row['barrio']."&nbsp;".$row['localidad']."<br>"
    echo 
"<strong>Tipo:</strong>&nbsp;".$row['tprop']."<br>"
    echo 
"<strong>Ambientes:</strong>&nbsp;".$row['amb']."<br>"
    echo 
"<strong>Metros totales:</strong>&nbsp;".$row['m2t']."<br>"
    echo 
"<strong>Antiguedad:</strong>&nbsp;".$row['ant']."&nbsp;anos<br>"
    echo 
"</p>"
    echo 
"<table width='223' border='0' align='right'>"
    echo 
"<tr>"
    echo 
"<td width='48'>&nbsp;</td>"
    echo 
"<td width='165'><strong>Precio&nbsp;".$row['to'].":</strong>&nbsp;&nbsp;".$row['precio']."</td>"
    echo 
"</tr>"
    echo 
"<tr>"
    echo 
"<td height='74'>&nbsp;</td>"
    echo 
"<td><a href='detalle.php?codigo=".$row['codigo']."'>Ver mas</a></td>"
    echo 
"</tr>"
    echo 
"</table>"
    echo 
"</td>"
    echo 
"</tr>"
    echo 
"</table></td>"
    echo 
"</tr>";     
    echo 
"</table>"
    echo 
"<p>"
    echo 
"</p>"
    echo 
"<p>&nbsp;</p>"
    echo 
"<p><br>"
    echo 
"</p></td>"
    echo 
"</tr>"

    echo 
"</table>"
//cerramos el conjunto de resultado y la conexión con la base de datos  

                            //   $sql = mysql_query($query ."ORDER BY codigo LIMIT $RegistrosAEmpezar, $RegistrosAMostrar",$con);  

$NroRegistrosmysql_num_rows (mysql_query($query .'ORDER BY codigo',$con)); 
$PagAnt=$PagAct-1
$PagSig=$PagAct+1
$PagUlt=$NroRegistros/$RegistrosAMostrar
$Res=$NroRegistros%$RegistrosAMostrar
if(
$Res>0$PagUlt=floor($PagUlt)+1
echo 
"<a onclick=\"Pagina('1')\">Primero</a> "
if(
$PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> "
echo 
"<strong>Pagina ".$PagAct."/".$PagUlt."</strong>"
if(
$PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> "
echo 
"<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>"
?>

Etiquetas: ajax, paginador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:55.