JavaScript - consulta sql con ajax, pero usando mas de una variable como condición

   
Vista:
Imágen de perfil de Pablo

consulta sql con ajax, pero usando mas de una variable como condición

Publicado por Pablo pma_martin@hotmail.com (13 intervenciones) el 03/04/2014 23:25:39
He buscado y buscado, y no he encontrado un ejemplo, no se si ustedes me pueden ayudar con un ejemplo facil y adaptable.
He trabajado con selects dependientes, con ajax, pero todos los ejemplos son pasando una sola variable como condicion, es decir para realizar la consulta sql.

Lo que yo necesito es, pasar 3 variables a traves de ajax o javascript, para poder realizar la consulta y devolver el resultado, que es un solo valor.

para q se orienten esta es la consulta:

1
SELECT COUNT(*)  FROM contrato WHERE id_propiedad = '$variable1' AND fecha_venc BETWEEN '$variable2' AND '$variable3'

$variable1, $variable2, $variable3 son datos que tengo en el formulario, que el usuario irá cambiando dinamicamente,

Agradecería su ayuda!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

consulta sql con ajax, pero usando mas de una variable como condición

Publicado por xve (1596 intervenciones) el 04/04/2014 08:56:35
Hola Pablo, pasar una o tres variables por ajax, no es problema...

Si me muestras como lo haces para pasar un parámetro, te indico como hacerlo con tres. te digo que me lo muestres, porque se puede hacer de muchas maneras...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pablo

consulta sql con ajax, pero usando mas de una variable como condición

Publicado por Pablo (13 intervenciones) el 05/04/2014 17:41:26
Gracias por responder xve, lo hago asi:

1
<select id="contr" name="contr" style="width: 150px;" size="1" onchange="traerDatos2(this.value); " > </select>

esa funcion le pasa el dato, al javascript: ajustes2.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function nuevoAjax2()
{
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 traerDatos2(num)
{
 
var cod=num;
var campo1=document.getElementById("l_cuota");
var ajax2=nuevoAjax2();
 
//se puede enviar por GET los valores tambien en este caso elegi POST 
// ajax.open("GET", "ajuste1.php?"+"valores="+cod, true); 
// ajax.send(null);
 
ajax2.open("POST", "resources/ajustes2.php", true);
ajax2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax2.send("valores="+cod);
 
ajax2.onreadystatechange=function()
{
if (ajax2.readyState==4)
{
if(ajax2.status==200) {
 
var respuesta=ajax2.responseXML;
campo1.value=respuesta.getElementsByTagName("pro")[0].childNodes[0].data;
 
}else{
alert("Estado: " + ajax2.status + "\nMotivo: " + ajax2.statusText);
}
}
}
}

y el javascript, llama a ajustes2.php para hacer la consulta sql:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$v=$_POST["valores"];
 
 
 
  $conectar = mysql_connect ('localhost', 'pmamartin','221403');
  $base = mysql_select_db ("pmamartin_usuariosjorba", $conectar)or die ("No se puede conectar con la base de datos");
 
 
$resultado=mysql_query ("SELECT MAX(num_cuota)+1 as pro FROM cuotas WHERE id_contrato = '$v'");
 
$registro=mysql_fetch_row($resultado);
 
$xml="<?xml version='1.0' encoding='ISO-8859-1'?>";
$xml.="<datos>";
$xml.="<pro><![CDATA[$registro[0]]]></pro>";
$xml.="</datos>";
header("Content-type: text/xml");
echo $xml;
 
?>

ese es un ejemplo de donde lo tengo aplicado. He podido hacer que devuelva mas de un valor, pero no pasarle mas de uno.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

consulta sql con ajax, pero usando mas de una variable como condición

Publicado por xve (1596 intervenciones) el 05/04/2014 22:29:32
Hola Pablo, es como si fueras a pasar los parámetros por GET...

Aquí
1
ajax2.send("valores="+cod);
Le puedes añadir tantos parámetros como desees...
1
ajax2.send("valores="+cod+"&val2=casa&val3=coche");

Aunque parezca GET, el sistema lo pasa en modo POST, ya que lo has definido en la linea:
1
ajax2.open("POST", "resources/ajustes2.php", true);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pablo

consulta sql con ajax, pero usando mas de una variable como condición

Publicado por Pablo (13 intervenciones) el 05/04/2014 22:49:02
Impresionante como siempre xve!!! claro, conciso y contundente!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar