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

Ayuda URGENTE con consulta!!!!

Estas en el tema de Ayuda URGENTE con consulta!!!! en el foro de Frameworks JS en Foros del Web. Muchachos tengo un problema con una consulta que hago contra una base de datos mysql. Anteriormente la haciamos normalmente y siempre anduvo bien, ahora la ...
  #1 (permalink)  
Antiguo 13/01/2008, 17:42
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Ayuda URGENTE con consulta!!!!

Muchachos tengo un problema con una consulta que hago contra una base de datos mysql. Anteriormente la haciamos normalmente y siempre anduvo bien, ahora la idea era hacerla sin recargar por lo que use ajax en base a un ejemplo de consulta de http://www.ribosomatic.com-
El tema es el siguiente el usuario igresa dos datos para hacer una consulta y en base a esos 2 datos le devuelvo la informacion requerida o un mensaje de error de que no coinciden los datos ingresados. El problema que veo es que al archivo consulta.php no le llegan los valores ingresados en las cajas de texto del form por lo cual la consulta no tira ningun registro encontrado y dice que no coinciden. Evidentemente le estoy errando fiero en la parte del ajax, pero no se como solucionarlo ya que es la primera vez que uso este sistema.

Les paso el codigo:

Este es el html donde esta el form:(la parte que interesa)

<form name="consulta" method="post" action="" onsubmit="MostrarConsulta('consulta.php'); return false">

<p align="center"><font face="Tahoma">Número de reclamo <input type="text" name="formtext1" maxlength="6" size="6"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Código de seguridad <input type="password" name="formtext2" maxlength="4" size="4"></font></p>
<p align="center"><input type="submit" name="formbutton1" value="Consultar"></p>
</form>
<div id="resultado"></div>


este es el consulta.php

include("/etc/php5/base.inc");
$numero = $_POST['formtext1'];
$numero1 = $_POST['formtext2'];
$connection = mysql_connect($dbHost, $dbUser, $dbPass) or die ('No puedo conectar en este momento');
// select database
mysql_select_db($dbBase) or die ('No puedo seleccionar reclamos en este momento!');
// generate and execute query
$query = "SELECT * FROM $tabla1 where reclamo = '$numero' and azar = '$numero1'";
$result = mysql_query($query) or die ("Error en la consulta: $query. " . mysql_error());
if (mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_object($result))
{
echo "Número de reclamo: $row->reclamo<br> ";
echo "Fecha del reclamo: $row->fechatomado<br> ";
echo "Nombre: $row->nombre<br> ";
echo "Dirección: $row->domicilio<br> ";
echo "Detalle: $row->observaciones<br> ";
echo "Asignado: $row->dependencia<br> ";
echo "Estado: $row->estado<br> ";
}
// la grilla con los resultados del detalle
$query = "SELECT * FROM $tabla2 where reclamo = '$numero'";
$result = mysql_query($query) or die ("Error en la consulta: $query. " . mysql_error());
if (mysql_num_rows($result) > 0)
{
echo "<br><br>Historial del reclamo<br>";
echo '<table width=100% cellpadding=10 cellspacing=0 border=1>';
echo
'<tr><td><b>Fecha</b></td><td><b>Detalle</b></td><td><b>Dependencia</b></td><td><b>Responsable</b></td></tr>';
while($row = mysql_fetch_row($result))
{
echo '<tr>';
echo '<td>' . $row[2] . '</td>';
echo '<td>' . $row[3] . '</td>';
echo '<td>' . $row[4] . '</td>';
echo '<td>' . $row[5] . '</td>';
echo '</tr>';
}
echo '</table>';
}
// fin del resultado con la grilla del resultado
}
else
{
echo 'No hay reclamos que coincidan con los datos ingresados!';
}

y este es el archivo ajax.js

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');
ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.send(null)


Lo increible es que si en el select en vez de poner variables pongo constantes algo asi como
$query = "SELECT * FROM $tabla1 where reclamo = 'F06F14' and azar = 8988";

entonces si me devuelve el resultado correcto, por eso el problema esta en que no me toma las variables obtenidas del form.

Desde ya miiiiiiiiiiiiiillllllllllllllllllll gracias

Última edición por mchisnerman; 13/01/2008 a las 17:44 Razón: Me olvide de poner que me avise por mail cualquier novedad
  #2 (permalink)  
Antiguo 14/01/2008, 09:48
 
Fecha de Ingreso: octubre-2006
Ubicación: México D.F
Mensajes: 210
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

Ya, lo que pasa es que no estas enviando esos parametros, y aparte la petición Ajax la estas poniendo por GET cuando tu script .php espera los parametros por POST.

Tu función MostrarConsulta, debe leer los valores de tus TEXT para formar el URL
Código PHP:
/consulta.php?numero=99999&numero1=000009 
Solo entonces mandas esto en tu variable 'datos' y ya debe funcionar.

Saludos !
  #3 (permalink)  
Antiguo 14/01/2008, 10:19
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

ok y me podrias explicar especificamente donde iria eso. Mil gracias por la respuesta
  #4 (permalink)  
Antiguo 14/01/2008, 10:52
 
Fecha de Ingreso: octubre-2006
Ubicación: México D.F
Mensajes: 210
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

Ok.


Modificando el primer codigo que pones....

Código PHP:
Número de reclamo <input type="text" name="formtext1" id="formtext1" maxlength="6" size="6"
Código de seguridad <input type="password" name="formtext2" id="formtext2" maxlength="4" size="4">
<
input type="button" name="formbutton1" value="Consultar" onClick="MostrarConsulta('consulta.php')">
<
div id="resultado"></div

Y la función MostrarConsulta

Código PHP:
function MostrarConsulta(script){
var 
divResultado document.getElementById('resultado');
var 
parametros '?formtext1=' document.getElementById('formtext1') + '&formtext2='  +  document.getElementById('formtext2');
ajax=objetoAjax();
ajax.open("GET"script parametros);
ajax.onreadystatechange=function() {
if (
ajax.readyState==4) {
divResultado.innerHTML ajax.responseText
}
}
ajax.send(null
Finalmente cambia el POST por GET en el archivo .php


Saludos
  #5 (permalink)  
Antiguo 14/01/2008, 10:56
 
Fecha de Ingreso: octubre-2006
Ubicación: México D.F
Mensajes: 210
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

Notar que he eliminado el FORM y el tipo de Boton, en vez de submit ahora es tipo Button, además he agregado el ID a cada objeto para poder leerlo con JavaScript.

Saludos !
  #6 (permalink)  
Antiguo 14/01/2008, 11:33
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

Mira , desde ya primeramente gracias por tu respuesta, ahora eh copiado todo lo que me pasaste y sigue sin andar de hecho cambie los 2 POST por GET y el resultado de la consulta ahora es
SELECT * FROM reclamos where reclamo = '[object HTMLInputElement]' and azar = '[object HTMLInputElement

Que estare haciendo mal??
  #7 (permalink)  
Antiguo 14/01/2008, 11:40
 
Fecha de Ingreso: octubre-2006
Ubicación: México D.F
Mensajes: 210
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

Ya,

El que lo esta haciendo mal soy yo....

Falta invocar el 'value' de cada elemento.
Código PHP:
function MostrarConsulta(script){
var 
divResultado document.getElementById('resultado');
var 
parametros '?formtext1=' document.getElementById('formtext1').value '&formtext2='  +  document.getElementById('formtext2').value;
ajax=objetoAjax();
ajax.open("GET"script parametros);
ajax.onreadystatechange=function() {
if (
ajax.readyState==4) {
divResultado.innerHTML ajax.responseText
}
}
ajax.send(null
Estoy escribiendo al vuelo....

Prueba y comenta...

Saludos
  #8 (permalink)  
Antiguo 14/01/2008, 11:57
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

SIIIIIIIIIIIIIIIIII ahora si funca, muchas gracias!!!!!!!!!!!
  #9 (permalink)  
Antiguo 14/01/2008, 12:20
 
Fecha de Ingreso: octubre-2006
Ubicación: México D.F
Mensajes: 210
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ayuda URGENTE con consulta!!!!

Cita:
Iniciado por mchisnerman Ver Mensaje
SIIIIIIIIIIIIIIIIII ahora si funca, muchas gracias!!!!!!!!!!!
Chido !!
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 10:19.