Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2009, 07:39
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 7 meses
Puntos: 1
Pregunta Paginar resultados en una capa sin resetear la página

Hola a todos!!!!!

Luego de una larga lucha y de mucho estudio por mi parte, logré armar un buscador con el paginador dentro de una capa para ver los resultados de la búsqueda sin que se resetee toda la misma.

El buscador está armado con listas anidadas.

El UNICO problema RARO que tengo, es que en mi PC me funciona PERFECTO, pero al subir todo al servidor de internet, cuando hago la misma búsqueda no me está trayendo los resultados seleccionados según lo que elijo de cada LISTA ANIDADA, sino que me trae directamente TODO.

Les paso el código Ajax para que lo vean:

paginador.js
Código:
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('respuesta');
 
 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

	// declaro las variables de los document.getElementById que recupero de la pagina
	var select1 = document.getElementById("select1"); 
	var select2 = document.getElementById("select2"); 
	var select3 = document.getElementById("select3"); 
	var id_cocina = document.getElementById("id_cocina"); 
	var id_precio = document.getElementById("id_precio"); 

	// ...y lo envio en la variable m.value para q lo procese resto_lista.php
	ajax.open("GET","resto_lista.php?pag="+nropagina+"&select1="+select1.value+"&select2="+select2.value+"&select3="+select3.value+"&id_cocina="+id_cocina.value+"&id_precio="+id_precio.value); 

 divContenido.innerHTML= '<img src="ajaxloader.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)
}
El botón de BUSCAR es así:
Código HTML:
<input name="boton" type="button" id="boton" onclick="Pagina(1);" value="Buscar" /> 
Tomo las variables enviadas de esta manera:
resto_lista.php
Código PHP:
// realizar esta funci&oacute;n si se apret&oacute; el bot&oacute;n de enviar en el formulario de busqueda
if(isset($_GET['boton']))

// declarar variables los datos del formulario
$select1 $_GET['select1'];
$select2 $_GET['select2'];
$select3 $_GET['select3'];
$idcocina $_GET['id_cocina'];
$idprecio $_GET['id_precio'];
{


// declarar las condiciones usando la opci&oacute;n WHERE, dependiendo de lo enviado en el formulario
$condiciones "";
if (
$select1 != ""$condiciones .= " AND restaurantes.id_provincia = $select1";
if (
$select2 != "" && $condiciones != ""$condiciones .= " AND restaurantes.id_localidad = $select2";
if (
$select3 != "" && $condiciones != ""$condiciones .= " AND restaurantes.id_zona = $select3";
if (
$idcocina != "" && $condiciones != ""$condiciones .= " AND restaurantes.id_cocina = $idcocina";
if (
$idprecio != "" && $condiciones != ""$condiciones .= " AND restaurantes.id_precio = $idprecio";

// obtener datos de la base
$registros 8;

$pag $_GET['pag'];

if (!
$pag) {
    
$inicio 0;
    
$pag 1;
    }
    else {
    
$inicio = ($pag 1) * $registros;

        
$sql "SELECT * FROM ........ WHERE ....... $condiciones ORDER BY id_rubro";

$result mysql_query($sql$conexion);

$total_registros mysql_num_rows($result);

$result mysql_query("SELECT * FROM ....... WHERE ....... $condiciones ORDER BY id_rubro LIMIT $inicio, $registros"$conexion) or die (mysql_error());

.........
// se listan los resultados en 2 filas y 4 columnas y se arma el paginador...


// Paginador
$total_paginas ceil($total_registros $registros);

 
$PagAnt=$pag-1;
 
$PagSig=$pag+1;

if((
$PagAnt) > 0) {
    echo 
"<a href='javascript:Pagina(" .$PagAnt")'>&laquo; ANTERIOR</a> ";
    } else {
    echo 
"<b>&laquo; ANTERIOR</b> ";
    } 
    for (
$i=1$i<=$total_paginas$i++){
    if (
$pag == $i) {
    echo 
"<b>".$pag."</b> ";
    } else {
    echo 
"<a href='javascript:Pagina(" .$i")'>$i</a> ";
    } 
    }
    if((
$PagSig)<=$total_paginas) {
    echo 
" <a href='javascript:Pagina(" .$PagSig")'>SIGUIENTE &raquo;</a>";
    } else {
    echo 
"<b>SIGUIENTE &raquo;</b> "
¿Por qué en mi PC funciona y en el servidor de internet no?
¿alguna sugerencia después de haber luchado tanto con esto?

Gracias a todos y saludos.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.