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"> 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