Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/04/2013, 14:54
Avatar de colote
colote
 
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 16 años, 6 meses
Puntos: 8
Buscador + PHP + Ajax no puedo pasar 3 variables

Hola Gente, sigo buscano info pero no doy con la tecla.
Les cuento tengo un sitio que estoy armando de clasificados, algo basico para mis conocimientos.

Y estoy poniendole un buscador y vi que se puede con AJAX y me carga los resultados en la misma pagina.

El que uso es este adaptado a mi pagina http://www.ribosomatic.com/articulos...anea-con-ajax/

El tema es que solo envia una sola variable para buscar, hasta ahi funciona de maravillas, el tema es que yo necesito que me envie 3, que serian:
texto_a_buscar
precio_desde
precio_hasta.

En la parte de funcionesjs.js lo modifique asi:

Código Javascript:
Ver original
  1. function nuevoAjax(){
  2.         var xmlhttp=false;
  3.         try{
  4.                 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.         }catch(e){
  6.                 try {
  7.                         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.                 }catch(E){
  9.                         xmlhttp = false;
  10.                 }
  11.         }
  12.        
  13.         if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.                 xmlhttp = new XMLHttpRequest();
  15.         }
  16.    
  17.         return xmlhttp;
  18. }
  19.  
  20. function buscarDato(){
  21.         resul = document.getElementById('resultado');
  22.        
  23.         bus=document.frmbusqueda.dato.value;
  24.         des=document.frmbusqueda.desde.value;     //esta se agrego
  25.         has=document.frmbusqueda.hasta.value;     //esta se agrego
  26.        
  27.    
  28.         ajax=nuevoAjax();
  29.         ajax.open("POST", "busqueda.php",true);
  30.         ajax.onreadystatechange=function() {
  31.                 if (ajax.readyState==4) {
  32.                         resul.innerHTML = ajax.responseText
  33.                 }
  34.         }
  35.        
  36.         ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  37.         ajax.send("busqueda="+bus)
  38.         ajax.send("ddd="+des)    //esta se agrego
  39.         ajax.send("hhhh="+has)   //esta se agrego
  40.        
  41. }

desde el form que envia los datos es asi
Código HTML:
Ver original
  1. <form name="frmbusqueda" action="" onsubmit="buscarDato(); return false">
  2.     <div align="center">
  3.     Buscar:
  4.     <input type="text" name="dato">
  5.     Desde $ <input type="text" name="desde" size="8">
  6.     Hasta $ <input type="text" name="hasta" size="8">
  7.     <input type="submit" name="BUSCAR"> <!-- Este lo agregue porque con 3 inputs ejecutando con Enter no funciona->
  8.    </div>
  9.    </form>
  10.  
  11.    <div id="resultado"></div>

y en busqueda.php que es donde recibe los datos lo tengo asi solo para probar, despues hace la consulta tipo Like y demas..

Código PHP:
Ver original
  1. $busqueda=$_POST['busqueda'];
  2.    $desde=$_POST['ddd'];
  3.    $hasta=$_POST['hhh'];
  4.    
  5.     echo "desde $desde hasta $hasta";

Lo raro es que por la URL se ven los datos
Código URL:
Ver original
  1. http://localhost/new_user/celulares.php?dato=iphone&desde=555&hasta=666&BUSCAR=Submit

Agradezco su ayuda !!!

Saludos, Ricardo.
__________________
Mail: [email protected]