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

Problema con AJAX y PHP

Estas en el tema de Problema con AJAX y PHP en el foro de Frameworks JS en Foros del Web. Hola, Que tal veran tengo un problema con un script que ejecuto con AJAX para obtener una consulta por medio de un Input del tipo ...
  #1 (permalink)  
Antiguo 24/01/2011, 21:37
 
Fecha de Ingreso: junio-2009
Mensajes: 75
Antigüedad: 15 años, 5 meses
Puntos: 0
Problema con AJAX y PHP

Hola,

Que tal veran tengo un problema con un script que ejecuto con AJAX para obtener una consulta por medio de un Input del tipo text a través del enter (al escribir un ID en el input y dar enter ejecuta la consulta y me regresa el resultado), cuando detecto el codigo del Enter (13) envio la consulta por AJAX y me la regresa desplegando un DIV entero con los resultados, les muestro el codigo.

Este es el objeto de AJAX:
Código Javascript:
Ver original
  1. /************Funciones de Ajax para el intercambio Asincrono de Información*************/
  2.     function objetoAjax(){
  3.           var xmlhttp=false;
  4.           try {
  5.               xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  6.           } catch (e) {
  7.               try {
  8.                  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  9.               } catch (E) {
  10.                   xmlhttp = false;
  11.           }
  12.           }
  13.           if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.               xmlhttp = new XMLHttpRequest();
  15.           }
  16.           return xmlhttp;
  17.       }

Y este es el codigo que utilizo para mandar llamar el Objeto AJAX, enviar los criterios y busqueda cuando se activa el Enter:
Código Javascript:
Ver original
  1. /****************Realizacion de consulta por medio de AJAX al presional ENTER Keycode == 13********************/
  2.       function detectkey(evt,obj) {
  3.       keycode = (evt.keyCode==0) ? evt.which : evt.keyCode;
  4.      if (keycode==13){
  5.           folio=obj.value + String.fromCharCode(keycode);
  6.           pagina='externos/filtra.php?folio='+folio;
  7.           }
  8.           divcontenido = document.getElementById('SSform1');
  9.           ajax=objetoAjax();
  10.           ajax.open("POST", pagina, true);
  11.           ajax.onreadystatechange=function() {
  12.             if (ajax.readyState==4) {
  13.               divcontenido.innerHTML = ajax.responseText
  14.             }
  15.           }
  16.           ajax.send(null);
  17.       }

Confiezo que no entiendo aun en su totalidad como funciona el script en algunas partes pero si entiendo gran parte de este, ahora este es el codigo en PHP que envio como respuesta al hacer la consulta:

Código PHP:
Ver original
  1. <?php
  2.       $conexion = mysql_connect("localhost", "root", "root") or die ("No se puede conectar con el servidor");
  3.       $db="bitacora_digeset"; // el nombre de la base de datos
  4.       mysql_select_db($db, $conexion) or die('No pudo seleccionarse la BD.'); // conectamos con la base de datos
  5.      
  6.    if(isset($_REQUEST['folio'])) {
  7.    $folio = $_REQUEST['folio'];
  8.    $query="SELECT servicio, quien_reporta, dependencia, desc_de_servicio, traslado, quien_recibio, extension
  9.            FROM bitacora_de_consultas
  10.            WHERE (folio LIKE '$folio')";
  11.       };
  12.  
  13.             $consulta=mysql_query($query,$conexion);
  14. ?>
  15.  
  16.  
  17. <?PHP
  18.         while($row = mysql_fetch_array($consulta)) {
  19.            
  20.                 echo"<div id='SSform1' class='SSform1'>"; /*Div del que se tomaran y mostrara los resultados de la consulta*/
  21.                
  22.                     echo"<div class='intform1-1'>";
  23.                         echo"<p class='NumFolio'>".'N&uacute;mero de FOLIO: '."<input type='text' name='name'/></p>";
  24.                         echo"<p class='Servicio'><font class='LetrasAzul'>".'Servicio: '."</font><font class='LetrasNegras'>".$row['servicio']."</font></p>";
  25.                         echo"<p class='QnRe'><font class='LetrasAzul'>".'Qui&eacute;n reporta: '."</font><font class='LetrasNegras'>".$row['quien_reporta']."</font></p>";
  26.                         echo"<p class='Depen'><font class='LetrasAzul'>".'Dependencia: '."</font><font class='LetrasNegras'>".$row['dependencia']."</font></p>";
  27.                         echo"<p class='DescripServi'><font class='LetrasAzul'>".'Descripci&oacute;n del servicio: '."</font><font class='LetrasNegras'>".$row['desc_de_servicio']."</font></p>";
  28.                     echo"</div>";
  29.                
  30.                     echo"<div class='intform1-2'>";
  31.                         echo"<font class='LetrasAzul'>".'Requiere Traslado: '."</font><font class='LetrasNegras'>".$row['traslado']."</font>";
  32.                     echo"</div>";
  33.                
  34.                     echo"<div class='intform1-3'>";
  35.                         echo"<font class='LetrasAzul'>".'Qui&eacute;n recibe el servicio: '."</font><font class='LetrasNegras'>".$row['quien_recibio']."</font>";
  36.                         echo"<BR/>";
  37.                         echo"<font class='LetrasAzul'>".'Extensi&oacute;n: '."</font><font class='LetrasNegras'>".$row['extension']."</font>";
  38.                     echo"</div>";
  39.                
  40.                 echo"</div>";
  41.         }
  42. ?>

El div donde cargo el resultado es el siguiente, es exactamente el mismo solo que sobreescribo para poner los resultados y es ahi donde siento que esta el problema, veran pongo el codigo y les explico.

Código HTML:
Ver original
  1. <div id="SSform1" class="SSform1"> <!--Div del que se tomaran y mostrara los resultados de la consulta-->
  2.                
  3.                 <div class="intform1-1">                   
  4.                     <p class="NumFolio">N&uacute;mero de FOLIO: <input type="text" name="name" onkeypress="detectkey(event,this)"/></p>
  5.                     <p class="Servicio"><font class="LetrasAzul">Servicio: </font><font class="LetrasNegras"></font></p>
  6.                     <p class="QnRe"><font class="LetrasAzul">Qui&eacute;n reporta: </font><font class="LetrasNegras"></font></p>
  7.                     <p class="Depen"><font class="LetrasAzul">Dependencia: </font><font class="LetrasNegras"></font></p>
  8.                     <p class="DescripServi"><font class="LetrasAzul">Descripci&oacute;n del servicio: </font><font class="LetrasNegras"></font></p>
  9.                 </div>
  10.                
  11.                 <div class="intform1-2">
  12.                     <font class="LetrasAzul">Requiere Traslado:</font> <font class="LetrasNegras"></font>
  13.                 </div> 
  14.                
  15.                 <div class="intform1-3">
  16.                     <font class="LetrasAzul">Qui&eacute;n recibe el servicio:</font><font class="LetrasNegras"> </font> <br/>
  17.                     <font class="LetrasAzul">Extensi&oacute;n:</font> <font class="LetrasNegras"></font>
  18.                 </div>
  19.                
  20.             </div>

Bien ahora mi problema es el siguiente, el script funciona correctamente y hace la consulta y regresa los resultados bien pero mi problema se presenta al hacer una segunda consulta no me deja y se borra solo el contenido que agrege al input, al checar con le debugger memuestra que siempre envia el primer valor que se mando, que creen que podra ser?

De ante mano gracias por als respuestas y saludos.
  #2 (permalink)  
Antiguo 24/01/2011, 22:59
 
Fecha de Ingreso: junio-2009
Mensajes: 75
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema con AJAX y PHP

Hola, me decido a sacar el DIV del contenido a cargar y poner el script de manera externa para no tener que andar complicnado, ya lo solucione.

Gracías

Etiquetas: ajax, php
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 23:13.