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

Ejecutar Script PHP obteniendo el resultado.

Estas en el tema de Ejecutar Script PHP obteniendo el resultado. en el foro de Frameworks JS en Foros del Web. Que tal? Actualmente tengo un script en AJAX que llama a una pagina PHP que realiza una consulta segun los datos enviados a traves del ...
  #1 (permalink)  
Antiguo 26/05/2010, 11:06
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Ejecutar Script PHP obteniendo el resultado.

Que tal?

Actualmente tengo un script en AJAX que llama a una pagina PHP que realiza una consulta segun los datos enviados a traves del script...

Código:
function getDataServer()                   
{
        var xml = null;
        var numero = document.getElementById("numero").value;  
        var ciudad = document.getElementById("ciudad").value;
        try {                     
                xml = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(expeption) {
                                        xml = new XMLHttpRequest();
                                        }
                xml.open("GET","test.php?numero="+numero+"&ciudad="+ciudad, true);
                xml.send(null);                  
                if(xml.status == 404) alert("Url no valida");
                        return xml.responseText;
}
Los valores numero y ciudad los obtengo de la pagina actual y los envio hacia test.php. En test.php realizo una consulta a MySQL.
Esto funciona barbaro, lo que no se es como pedir el retorno de la consulta... por ejemplo si pregunto la cantidad de llamadas del numero de la ciudad que estoy enviando...

Como retorno la respuesta? como lo pido?

gracias.
  #2 (permalink)  
Antiguo 26/05/2010, 11:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Ejecutar Script PHP obteniendo el resultado.

Hola:

No veo que programes el evento del cambio de estado... mira en nuestras FAQs sobre la programación del manejador onreadystatechange()... y si quieres tratar la respuesta como texto plano o como documento xml.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 26/05/2010, 11:20
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Ejecutar Script PHP obteniendo el resultado.

Pero esto funciona bien, y la consulta la hace... (probe con un INSERT)..
lo que quiero es en caso de hacer un SELECT traerme el resultado en una variable para seguir tratandola.
  #4 (permalink)  
Antiguo 26/05/2010, 13:05
Avatar de MaRcElTeLlA  
Fecha de Ingreso: mayo-2010
Ubicación: Martorell
Mensajes: 66
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: Ejecutar Script PHP obteniendo el resultado.

Bueno, pues entonces podrias hacerlo por XML no?

quieres que el script php te responda.

intenta generar algo como

Código HTML:
//Cabeceras xml header(...)

<ciudad>
             <llamadas>...</llamadas>
             <nombre>...</nombre>
</ciudad> 
con eso generado, puedes llamar a xml.responseXML, y guardarlo en una variable, por ejemplo XMLroot, entonces haciendo XMLroot.firstChild.firstChild.nodeValue, si no me equivoco, accederias al número de llamadas que tiene la ciudad

o algo así, aqui ya mira aver tu el formato que quieres y la importancia que le quieres dar a cada campo y tal.


y luego usa la función xml.onreadystatechange para decirle qué hacer cuanod el estado del servidor cambie, es decir, cuando esté a 4, que haya terminado ya, pues entonces y no antes, que te sirva esa respuesta.



Bueno chico, espero haberte servido de ayuda, si no te sales, escribeme más especificamente y miramos, saludos
  #5 (permalink)  
Antiguo 26/05/2010, 13:29
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Ejecutar Script PHP obteniendo el resultado.

No entendi mucho de tu respuesta... asi que voy a ser mas claro:

Tengo 2 combobox para eleccion de pais y ciudad. Estos combobox estan anidados.



Una vez seleccionada la ciudad, un nuevo combobox me tiene que dar a eleccion la cantidad de numeros que quiero reservar.

Este numero estara dado del 1 al "X" siendo "X" la cantidad de numeros totales de la ciudad.



El tema aqui, es que el numero X se calculara cuando pueda enviar a la consulta, el pais y ciudad!

Por tanto, test.php tendra una consulta de la siguiente manera:

Código:
$pais = $_GET['pais'];
$ciudad = $_GET['ciudad'];

$conNumeros = "SELECT Sum(cantNumeros) FROM `numeros` INNER JOIN `ciudades` ON numeros.IdCiudad = ciudades.IdCiudad INNER JOIN `paises` ON paises.IdPais = ciudades.IdPais WHERE  ciudades.NombreCiudad = '$ciudad' AND paises.NombrePais = '$pais'";
$resCanalesTotales = mysql_query($conNumeros) or die ("problema con query");

while($contadordos = mysql_fetch_row($resCanalesTotales))  {
        $canalesTotales = "$contadordos[0]";
        }
Lo que quiero de aca es devolver el valor de $canalesTotales.

Código:
function capturarNumero(){
         getDataServer();
}

function getDataServer()
{
        var variable = null;

        var pais = document.getElementById("pais").value;
        var ciudad = document.getElementById("ciudad").value;

        divResultado = document.getElementById('resultado');

        try {
                variable = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(expeption) {
                                        variable = new XMLHttpRequest();
                                        }
        variable.open("GET","test.php?pais="+pais+"&ciudad="+ciudad, true);

        variable.onreadystatechange = function()        {
                if (variable.readyState == 4) {
                        divResultado.innerHTML = variable.responseText
                        }
                }

        variable.send(null);

        if(variable.status == 404) alert("Url no valida");
                return variable.responseText;

}
Necesito entender COMO retornar el valor $canalesTotales al script capturarNumero().

Pero para eso tengo que pasar por el script de AJAX que SOLO me esta enviando los valores pais y ciudad, pero no se como retornar algo!

se entiende?
  #6 (permalink)  
Antiguo 26/05/2010, 13:51
Avatar de MaRcElTeLlA  
Fecha de Ingreso: mayo-2010
Ubicación: Martorell
Mensajes: 66
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: Ejecutar Script PHP obteniendo el resultado.

Bueno, asi a simple vista, lo que veo es que el script php... no devuelve nada por pantalla.
Que tal si haces un
echo $canalesTotales
???

Por lo demás, parece todo bastante correcto.
  #7 (permalink)  
Antiguo 26/05/2010, 13:53
Avatar de MaRcElTeLlA  
Fecha de Ingreso: mayo-2010
Ubicación: Martorell
Mensajes: 66
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: Ejecutar Script PHP obteniendo el resultado.

Para recoger un texto, primero tienes que tenerlo escrito, y para eso usa echo de php.

Si fuera xml, igual, tienes que generar el xml a echos, xD yo no conozco ninguna manera magica de generarlo, además, en el xml, las etiquetas pones tu las que te salga, por ejemplo <ciudad>
me refiero que no tienen que ver con las etiquetas html.

Saludos!
  #8 (permalink)  
Antiguo 26/05/2010, 14:33
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Ejecutar Script PHP obteniendo el resultado.

El "echo $canalesTotales;" esta puesto, solo que no lo mostre en el quote... el tema esta en el script AJAX y en como capturar el echo del PHP.
  #9 (permalink)  
Antiguo 26/05/2010, 15:13
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Enviar y recibir valores por AJAX.

Este post, viene de:

http://www.forosdelweb.com/f77/ejecu...ultado-810416/

Pido perdon por hacer uno nuevo, pero me interesa dejar en claro lo que necesito, que es enviar 2 variables y recibir un resultado.

No puedo entender como es tan dificil que no lo pude encontrar en tutoriales de Ajax, lo que encontre eran complicados, o mostraban 2 scripts diferentes para cada uno.
Yo necesito que un mismo script haga las 2 cosas. Envie 2 variables y me devuelva un resultado. ¿es esto posible?
¿tienen algun ejemplo?

Vi por ahi que se requiere AJAX síncrono, por tanto, se debe definir "false", pero sigue sin quedarme claro como realizar el pedido de respuesta!

Código:
function getDataServer()                   
{
        var xml = null;
        var numero = document.getElementById("numero").value;  
        var ciudad = document.getElementById("ciudad").value;
        try {                     
                xml = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(expeption) {
                                        xml = new XMLHttpRequest();
                                        }

                xml.open("GET","test.php?numero="+numero+"&ciudad="+ciudad, false);
                xml.send(null);                  
                if(xml.status == 404) alert("Url no valida");
                        return xml.responseText;
}
El codigo remarcado muestra las 2 variables que estoy enviando... pero como recibo el resultado??? tengo que usar otro script? no entiendo!

gracias por la ayuda!
  #10 (permalink)  
Antiguo 26/05/2010, 18:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Ejecutar Script PHP obteniendo el resultado.

Hola:

Unimos los temas.

Como ya te hemos contado, Ajax puede recibir texto plano, o estructurado, así que si necesitas más de un resultado, o lo estructuras (es mi opción a), o si lo prefieres buscas una forma de combinar las respuestas para luego descombinarlas con javascript, por ejemplo separando los resultados por algún delimitador, por ejemplo, una coma.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 27/05/2010, 03:00
Avatar de MaRcElTeLlA  
Fecha de Ingreso: mayo-2010
Ubicación: Martorell
Mensajes: 66
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: Ejecutar Script PHP obteniendo el resultado.

este tema lo solucionaste ya me dijiste no?
  #12 (permalink)  
Antiguo 27/05/2010, 05:22
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Ejecutar Script PHP obteniendo el resultado.

tan simple como esto:

var = getDataServer();

Gracias Marceltelia

Etiquetas: ajax, ejecutar, php, resultados
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 01:31.