[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