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

Problema Mostrando Resultados de Una Consulta a MySql con AJAX

Estas en el tema de Problema Mostrando Resultados de Una Consulta a MySql con AJAX en el foro de Frameworks JS en Foros del Web. Buenas Noches a Todos. Agradezco su colaboración de antemano, mi problema es el siguiente: He creado un formulario en donde en un textbox digito un ...
  #1 (permalink)  
Antiguo 20/08/2009, 21:14
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación Problema Mostrando Resultados de Una Consulta a MySql con AJAX

Buenas Noches a Todos.

Agradezco su colaboración de antemano, mi problema es el siguiente:

He creado un formulario en donde en un textbox digito un nombre de sabor de helado, al pasar al siguiente textbox programé el evento "onfocus" para que me ejecute una consulta en MySql y que traiga los resultados de lo que he digitado en el textbox sabor.

El problema que tengo es que me trae todo lo qe hay en la tabla y no tiene en cuenta lo que he digitado en sabor, siempre me trae todo, ya no se que hacer, no se si el problema es lo que tengo implementado en AJAX, si estoy invocando mal el dato que necesito consultar.... en fin no encuentro una solución.

Codigo AJAX
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 
MostrarConsulta(datos){  
    
divResultado document.getElementById('resultado');  
    var 
sabor document.getElementById("SABOR").value
     
ajax=objetoAjax();  
     
ajax.open("GET"datos '?sabor=' escape(sabor));  
     
ajax.onreadystatechange=function() {  
        if (
ajax.readyState==4) {  
              
divResultado.innerHTML ajax.responseText  
        
}  
    }  
    
ajax.send(null)  


Codigo Form
Código PHP:
<form action="Prueba.php" method="post" name="form1" id="form1">
  <
table align="center">
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right"><font face="Verdana, Geneva, sans-serif">Fecha:</font></td>
      <
td><input type="text" name="FECHA" value="" size="32" id="dateArrival" onclick="popUpCalendar(this, form1.dateArrival, 'yyyy-mm-dd');"/></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right"><font face="Verdana, Geneva, sans-serif">Sabor:</font></td>
      <
td><input type="text" name="SABOR" value="" size="32" id="SABOR" /></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right"><font face="Verdana, Geneva, sans-serif">Lote:</font></td>
      <
td><input type="text" name="LOTE" value="" size="32" onfocus="MostrarConsulta('ConSabor.php'); return false"/></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="center" colspan="2"><div id="resultado" align="center"></div></td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">&nbsp;</td>
      <
td>&nbsp;</td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="right">&nbsp;</td>
      <
td>&nbsp;</td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="center" colspan="2">&nbsp;</td>
    </
tr>
    <
tr valign="baseline">
      <
td nowrap="nowrap" align="center" colspan="2"><input type="button" value="Insertar Registro" onclick="valida_envia()" />
      <
input name="Restablecer" type="reset" id="button" value="Limpiar Formulario" onclick="Actualiza()" /></td>
    </
tr>
  </
table>
  <
input type="hidden" name="MM_insert" value="form1" />
</
form

Codigo Consulta PHP
Código PHP:
<?php
//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "admin"
$bd_password "admin"
$bd_base "hsm";

$con mysql_connect($bd_host$bd_usuario$bd_password);

mysql_select_db($bd_base$con); 

$SABOR $_GET'SABOR' ]; 

$consulta mysql_query("SELECT * FROM SABORES WHERE SABOR LIKE '%".$SABOR."%' ",$con );
echo 
'<table border="1" bordercolor"gray" align="center">
        <tr>
        <td align="center" width="20"><font face="Verdana, Geneva, sans-serif" size"-1">Accion1</td>
        <td align="center" width="20"><font face="Verdana, Geneva, sans-serif" size"-1">Accion2</td>
        <td align="center" width="200"><font face="Verdana, Geneva, sans-serif" size"-1">IDSabor</td>
        <td align="center" width="200"><font face="Verdana, Geneva, sans-serif" size"-1">Sabor</td>
        </tr>
        </table>'
;
$encontrados mysql_num_rows($consulta);
if(
$encontrados 0){ 
    while(
$row mysql_fetch_array($consulta)){  
        echo   
        
'
        <table align="center" border="1" bordercolor"gray">
            <tr>
                <td align="center" width="20"><font face="Verdana, Geneva, sans-serif" size"-1"><a href="FormActSabores.php?IDSABOR='
.$row['IDSABOR'].'">Editar</a></font></td> 
                <td align="center" width="20"><font face="Verdana, Geneva, sans-serif" size"-1"><a href="FormBorraSabores.php?IDSABOR='
.$row['IDSABOR'].'">Borrar</a></font></td>
                <td align="center" width="200"><font face="Verdana, Geneva, sans-serif" size"-1">'
.$row['IDSABOR'].'</font></td>
                <td align="center" width="200"><font face="Verdana, Geneva, sans-serif" size"-1">'
.$row['SABOR'].'</font></td>
            </tr>    
        </table>
        
        '
;    
    } 
}else{ 
    echo 
'
    <br></br>
    <p class="Titulo" align="center"><font face="Verdana, Geneva, sans-serif" size="4"><b>No Se Ha Encontrado Ningun Dato Que         Corresponda A Su Consulta</b></font></p>
 '

}  
?>
  #2 (permalink)  
Antiguo 21/08/2009, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema Mostrando Resultados de Una Consulta a MySql con AJAX

Usa $_GET['sabor'] ya que así lo estas enviando.

Por otro lado te recomiendo usar el complemento firebug the Firefox, con él puedes ver las llamadas AJAX y su respuesta y puedes hacer debugging de una forma más sencilla.

Saludos.
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 00:38.