[Php-avanzado] consulta jquery para la tesis
Cesar Gimenez Lascano
cesargimenezlascano en gmail.com
Lun Jun 3 13:47:36 ART 2013
Volviendo al código, si sugerís que caRgue los datos de las dos llamadas
remotas (foursquare, twitter) a la BD, estos datos se actualizan
frecuentemente, tmb para obtenerlos utilizo las ids guardadas en mi BD, no
veo como podría hacerlo de esa forma.... saludos y gracias!!!
El 3 de junio de 2013 13:40, Cesar Gimenez Lascano <
cesargimenezlascano en gmail.com> escribió:
> Uh! perdón a mi por el error de tipeo!! creo que me traiciono el
> subconciente porque esta implementacion se me complico
> bastante....disculpas...
>
>
> El 3 de junio de 2013 12:37, Leonardo Tadei - Pegasus Tech Supply <
> leonardot en pegasusnet.com.ar> escribió:
>
> Hola Cesar,
>>
>> perdón por el error de tipeo.
>> Debería decir "devolverlo ya caRgado desde el servidor"
>>
>> Salu2
>>
>>
>> El dom, 02-06-2013 a las 11:28 -0300, Cesar Gimenez Lascano escribió:
>> > Gracias Leo! disculpame, a que te referís con "devolverlo ya cagado
>> > desde el servidor"? a guardar los datos recibidos de las llamadas a
>> > las apis en la base de datos? gracias x la ayuda. saludos!!
>> >
>> >
>> > El 1 de junio de 2013 19:15, Leonardo Tadei - Pegasus Tech Supply
>> > <leonardot en pegasusnet.com.ar> escribió:
>> > Cesar:
>> >
>> > Quiero volver a una cuestión que Matías platea muy
>> > correctamente: no
>> > tiene sentido hacer varias llamadas AJAX en un bucle, porque
>> > si te hace
>> > falta todo esto, devolvelo ya cargado desde el servidor y
>> > listo!
>> > Más allá del problema de sintaxis que haya, no es un
>> > uso razonable de
>> > AJAX, ya que es más lento todo esto que cargar los valores
>> > desde el
>> > principio.
>> >
>> > Acordate del "principio de programación KISS" !!!
>> >
>> >
>> >
>> > El sáb, 01-06-2013 a las 15:52 -0300, Cesar Gimenez Lascano
>> > escribió:
>> > > la del ultimo registro de la tabla de la base de datos
>> > >
>> > >
>> > > El 1 de junio de 2013 15:51, Cesar Gimenez Lascano
>> > > <cesargimenezlascano en gmail.com> escribió:
>> > > perdón mati, me adelante. El popup muestra bien la
>> > info de la
>> > > segunda llamada, pero de la primera muestra en todos
>> > los
>> > > popups la misma info.
>> > >
>> > >
>> > > El 1 de junio de 2013 15:36, Cesar Gimenez Lascano
>> > > <cesargimenezlascano en gmail.com> escribió:
>> > >
>> > > Genio Matias!!! anduvo de 10!!!! ahí entendí
>> > cual era
>> > > mi error, muchas gracias de verdad.Ya que
>> > estoy y sin
>> > > animo de abusar quisiera preguntarte,
>> > necesito tmb que
>> > > el popup muestre información de una llamada
>> > ajax mas,
>> > > donde encajaría en el nuevo código que me
>> > pasaste?
>> > > abrazo!!!
>> > >
>> > >
>> > > El 1 de junio de 2013 14:46, Matias Gea
>> > > <matigea en gmail.com> escribió:
>> > >
>> > > El problema lo tenés, probablemente
>> > acá:
>> > > var marker = new L.Marker(location,
>> > {title:
>> > > nombre, icon: myIcon});// creo el
>> > marcador
>> > > //llamo a la api de foursquare
>> > >
>> > $.getJSON('https://api.foursquare.com/v2/venues/'+fourID
>> >
>> +'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2',
>> function(data2) {
>> > > var tip1 =
>> > data2.response.tips.items[0].text;
>> > > var tip2 =
>> > data2.response.tips.items[1].text;
>> > > marker.bindPopup("<div
>> > class='popup'>" +
>> > > "<span class='titulo'>"+ nombre
>> > +"</span>"
>> > > +"</br>"+ dir +"</br>"+ tel
>> > +"</br>"+ tip1
>> > > +"</br>"+ tip2 + "</div>",
>> > {maxWidth:
>> > > '600'}); // creo el popup
>> > > });
>> > >
>> > >
>> > > Fijate que estás declarando una
>> > variable
>> > > marker (en el for) y la utilizás
>> > para
>> > > relacionar el popup después que se
>> > resuelve el
>> > > request asincrónico. En ese momento
>> > (cuando
>> > > terminan los requests) ya finalizó
>> > hace rato
>> > > el for y marker queda con el útlimo
>> > valor.
>> > > Tenés que hacer que marker sea
>> > constante en la
>> > > función onSuccess del getJSON, así:
>> > >
>> > >
>> > > var marker = new L.Marker(location,
>> > {title:
>> > > nombre, icon: myIcon});// creo el
>> > marcador
>> > > //llamo a la api de foursquare
>> > > $.getJSON(
>> > >
>> > 'https://api.foursquare.com/v2/venues/'+fourID
>> > >
>> >
>> +'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2',
>> > > (function(marker){
>> > > return function(data2) {
>> > > var tip1 =
>> > data2.response.tips.items[0].text;
>> > > var tip2 =
>> > data2.response.tips.items[1].text;
>> > > marker.bindPopup("<div
>> > class='popup'>" +
>> > > "<span class='titulo'>"+ nombre
>> > +"</span>"
>> > > +"</br>"+ dir +"</br>"+ tel
>> > +"</br>"+ tip1
>> > > +"</br>"+ tip2 + "</div>",
>> > {maxWidth:
>> > > '600'}); // creo el popup
>> > > }
>> > > })(marker)
>> > > );
>> > >
>> > >
>> > >
>> > >
>> > > Probalo y contame.
>> > >
>> > >
>> > > Saludos!
>> > >
>> > >
>> > >
>> > >
>> > > El 1 de junio de 2013 14:39, Cesar
>> > Gimenez
>> > > Lascano
>> > <cesargimenezlascano en gmail.com>
>> > > escribió:
>> > >
>> > > Hola Matias!! mil gracias x
>> > la
>> > > respuesta!!, te envío
>> > directamente
>> > > toda la pagina, espero se
>> > entienda el
>> > > código. Lo que ves son
>> > varios links
>> > > (alojamientos, comercios,
>> > etc) que al
>> > > hacer click llaman a una
>> > función js
>> > > (getAlojs(), getComes(), etc
>> > ) que
>> > > trae datos desde la base de
>> > datos
>> > > (primer llamada ajax) y con
>> > ellos
>> > > crear una capa de marcadores
>> > y sus
>> > > popups y agrega todo a un
>> > mapa, con la
>> > > ayuda de una biblioteca js
>> > de mapping
>> > > que se llama leaflet. La
>> > segunda
>> > > llamada ajax (la que esta
>> > dentro del
>> > > for) se realiza a un
>> > servidor remoto
>> > > (la API del sitio foursquare
>> > en este
>> > > caso), los popups contienen
>> > > información proveniente de
>> > ambas
>> > > llamadas, por eso no veo
>> > como asociar
>> > > su creación a un evento
>> > onClick y los
>> > > cacheo a todos. Fijate que
>> > las dos
>> > > llamadas ajax las estoy
>> > probando solo
>> > > en la función getResto(), el
>> > resto de
>> > > los popups muestra solo info
>> > de la
>> > > base de datos y anda a la
>> > perfección.
>> > > Espero puedas ayudarme,
>> > saludos!!!
>> > >
>> > >
>> > > El 1 de junio de 2013 14:04,
>> > Cesar
>> > > Gimenez Lascano
>> > >
>> > <cesargimenezlascano en gmail.com>
>> > > escribió:
>> > >
>> > > Hola leo! gracias x
>> > la
>> > > respuesta!.
>> > > Efectivamente
>> > $.getJSON() hace
>> > > una llamada AJAX
>> > asincrónica
>> > > utilizando el
>> > framework JQuery
>> > > (linkeo a
>> > documentación
>> > > oficial x si sirve).
>> > Estuve
>> > > revisando mejor el
>> > resultado y
>> > > en realidad me
>> > muestra el
>> > > ultimo popup, así
>> > que puede
>> > > estar sucediendo lo
>> > que
>> > > comentas del bucle,
>> > lo del
>> > > nombre igual de
>> > variables no
>> > > es el problema, si.
>> > >
>> > >
>> > > El 31 de mayo de
>> > 2013 20:52,
>> > > Leonardo Tadei -
>> > Pegasus Tech
>> > > Supply
>> > >
>> > <leonardot en pegasusnet.com.ar>
>> > > escribió:
>> > >
>> > > Ufff...
>> > faltan muchos
>> > > detalles
>> > para empezar
>> > > a adivinar
>> > qué puede
>> > > estar
>> > >
>> > > pasando!
>> > >
>> > > Asumiendo
>> > que
>> > > $.getJSON()
>> > hace algún
>> > > tipo de
>> > llamada AJAX
>> > > usando el
>> > > framework
>> > JQuery, y
>> > > asumiendo
>> > que las
>> > > llamadas
>> > sean
>> > >
>> > asincrónicas, lo que
>> > > puede
>> > estarte pasando
>> > > es que las
>> > llamadas a
>> > > $.getJSON()
>> > adentro
>> > > del
>> > > bucle no
>> > alcancen a
>> > > terminar
>> > antes de que
>> > > vuelva a ser
>> > invocada
>> > > en el
>> > > próximo
>> > ciclo.
>> > >
>> > > Si lo que se
>> > ve es la
>> > > primera en
>> > vez de la
>> > > última,
>> > supongo que es
>> > > por la
>> > >
>> > implementación de la
>> > > biblioteca,
>> > pero
>> > > habría que
>> > destriparla
>> > > para estar
>> > > seguros.
>> > >
>> > > No debe ser
>> > el
>> > > problema,
>> > pero que
>> > > ambas
>> > funciones
>> > > anónimas
>> > usen como
>> > > parámetro la
>> > variable
>> > > "data" a mi
>> > de eriza
>> > > los pelos de
>> > la nuca,
>> > > por el
>> > > ámbito de
>> > las
>> > > variables en
>> > > JavaScript
>> > respecto de
>> > > las
>> > funciones, que es
>> > > mucho más
>> > amplio que
>> > > en otros
>> > lenguajes.
>> > >
>> > > Espero que
>> > alguien que
>> > > sepa más que
>> > yo de
>> > > JQuery nos
>> > ayude a
>> > > entender
>> > > qué es lo
>> > que pasa.
>> > >
>> > >
>> > > El vie,
>> > 31-05-2013 a
>> > > las 19:56
>> > -0300, Cesar
>> > > Gimenez
>> > Lascano
>> > > escribió:
>> > > > Hola,
>> > tengo un
>> > > problema con
>> > un código
>> > > para armar
>> > una capa de
>> > > >
>> > marcadores, con su
>> > > respectiva
>> > ventana de
>> > > información
>> > (popups),
>> > > y
>> > > > agregarla
>> > a un mapa.
>> > > El código
>> > como está
>> > > crea todos
>> > los
>> > > marcadores
>> > > > pero solo
>> > el primer
>> > > popup. Es
>> > que la
>> > > función data
>> > del
>> > > segundo
>> > llamado
>> > > > $.getJSON
>> > se ejecuta
>> > > solo una
>> > vez? o el
>> > > mismo
>> > llamado?. Aclaro
>> > > que el
>> > > > popup se
>> > carga de
>> > > información
>> > de las dos
>> > > fuentes json
>> > por eso
>> > > esta uno
>> > > > dentro del
>> > otro.
>> > > Espero
>> > puedan darme
>> > > una mano!!!
>> > > >
>> > > >
>> > > >
>> > $.getJSON("carga
>> > > datos",
>> > function
>> > > (data) {
>> > > >
>> > for (var i
>> > > = 0; i <
>> > data.length;
>> > > i++) {
>> > > >
>> > var
>> > > nombre =
>> > >
>> > data[i].nombre;
>> > > >
>> > var dir
>> > > =
>> > data[i].direccion;
>> > > >
>> > >
>> > $.getJSON("cargar
>> > > otros
>> > datos",
>> > >
>> > function(data) {
>> > > > var var1=
>> > data.var1;
>> > > > var var2=
>> > data.var2;
>> > > > //crear
>> > popup
>> > > > });
>> > > >
>> > //crear
>> > > marcador
>> > > >
>> > > //agregar
>> > marcador a
>> > > la capa
>> > > >
>> > } // fin
>> > > del for
>> > > >
>> > >
>> > }).complete(function() {
>> > > > //agregar
>> > capa al
>> > > mapa
>> > > > });
>> > > >
>> > >
>> > > >
>> > >
>> > _______________________________________________
>> > > >
>> > Php-avanzado mailing
>> > > list
>> > > >
>> > >
>> > Php-avanzado en pato2.fi.mdp.edu.ar
>> > > >
>> > >
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>> > >
>> > > --
>> > > Leonardo
>> > Tadei
>> > >
>> > leonardot en pegasusnet.com.ar
>> > > Web:
>> > >
>> > http://leonardo.tadei.com.ar
>> > > Firma
>> > pública:
>> > >
>> > http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>> > >
>> > >
>> > _______________________________________________
>> > > Php-avanzado
>> > mailing
>> > > list
>> > >
>> > Php-avanzado en pato2.fi.mdp.edu.ar
>> > >
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > _______________________________________________
>> > > Php-avanzado mailing list
>> > >
>> > Php-avanzado en pato2.fi.mdp.edu.ar
>> > >
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > > Matias Fernando Gea
>> > > matigea en gmail.com
>> > > http://www.mfgea.com.ar
>> > >
>> > >
>> > _______________________________________________
>> > > Php-avanzado mailing list
>> > > Php-avanzado en pato2.fi.mdp.edu.ar
>> > >
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > _______________________________________________
>> > > Php-avanzado mailing list
>> > > Php-avanzado en pato2.fi.mdp.edu.ar
>> > >
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>> >
>> > --
>> > Leonardo Tadei
>> > leonardot en pegasusnet.com.ar
>> > Web: http://leonardo.tadei.com.ar
>> > Firma pública:
>> > http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>> >
>> > _______________________________________________
>> > Php-avanzado mailing list
>> > Php-avanzado en pato2.fi.mdp.edu.ar
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>> >
>> >
>> >
>> > _______________________________________________
>> > Php-avanzado mailing list
>> > Php-avanzado en pato2.fi.mdp.edu.ar
>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>>
>> --
>> Leonardo Tadei
>> leonardot en pegasusnet.com.ar
>> Web: http://leonardo.tadei.com.ar
>> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>>
>> _______________________________________________
>> Php-avanzado mailing list
>> Php-avanzado en pato2.fi.mdp.edu.ar
>> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130603/f311d0e4/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado