IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Stocker un retour json dans une bdd


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Épine dans le pieds
    Inscrit en
    Mai 2004
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Épine dans le pieds

    Informations forums :
    Inscription : Mai 2004
    Messages : 425
    Par défaut Stocker un retour json dans une bdd
    Bonjour,

    J'ai intégré dans mes pages des feed Twitter de sites d'information mais je voudrais les mettre en cache pour ne les rafraîchir que toutes les heures par exemple (Twitter limite à 150 requetes par heure).

    Pour afficher mon feed twitter j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $feed_name="lemonde"; 
    ${$feed_name}="<ul id='twitter_update_list'></ul><script type='text/javascript' src='http://twitter.com/javascripts/blogger.js'></script><script type='text/javascript' src='http://twitter.com/statuses/user_timeline/".$feed_name.".json?callback=twitterCallback2&count=5'></script>";
     
    echo ${$feed_name};
    Ça fonctionne, avec un léger temps de latence lié à la récupération du feed chez Twitter.

    Maintenant si je veux mettre en cache ce résultat pour réduire les requêtes auprès de Twitter, je pensais faire quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $feed=mysql_real_escape_string(${$feed_name}); 
    mysql_query("INSERT INTO twittercache (last_update,feed_name,feed_content) VALUES('$time','$feed_name','$feed')");
    Mais lorsque je regarde ce qui a été placé dans le champs feed_content, je trouve la requête ("<ul id='twitter_update_list'></ul><script type='text/javascript' src='http://twitter.com/javascripts/blogger.js'></script><script type='text/javascript' src='http://twitter.com/statuses/user_timeline/".$feed_name.".json?callback=twitterCallback2&count=5'></script>") et non pas son résultat (le contenu du feed lui-même).

    Donc pour résumer : j'affiche bien le contenu du feed Twitter mais je n'arrive pas à le placer dans ma base de données.

    je sens bien que je fais une confusion entre la requête adressée à Twitter et son résultat mais je n'arrive pas à la résoudre.

    Merci à tous.

    P.S. : difficile de savoir où placer ce topic sachant qu'on y parle de JS, PHP et MySql.

    P.P.S : Je suppose que le fait que j'ai la requête et pas son résultat vient de ce que l'appel est fait par javascript (donc client) et que j'essaie de récupérer ce résultat avant que la requête ne s'exécute (au moment de la génération de la page PHP-> Serveur).

    Ce qui signifie que le cache est inutile puisque c'est le client qui sollicite Twitter et non le serveur web : l'IP retenue par Twitter est celle du client. Pas de risque d'exploser la limite de 150 requêtes par heure. Si quelqu'un peut confirmer/infirmer cette réponse ?

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Bnjour,

    Je confirme ta derniere proposition :
    Tu as un code javascript dans ta page qui va rechercher les informations chez twitter au chargement de la page.
    Comme tout javascript, il s'execute sur le pc client, et donc ton serveur n'est responsable en rien dans cette requete.

    Z.

  3. #3
    Membre très actif
    Homme Profil pro
    Épine dans le pieds
    Inscrit en
    Mai 2004
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Épine dans le pieds

    Informations forums :
    Inscription : Mai 2004
    Messages : 425
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    Bnjour,

    Je confirme ta derniere proposition :
    Tu as un code javascript dans ta page qui va rechercher les informations chez twitter au chargement de la page.
    Comme tout javascript, il s'execute sur le pc client, et donc ton serveur n'est responsable en rien dans cette requete.

    Z.
    Cool ! Merci ! J'attendais cette confirmation avec impatience !

    Donc pas besoin de mettre en cache et je peux abuser des appels Twitter à volonté !

    Ça ouvre plein de possibilités !

    Ci-dessous mon système d'affichage (simplex) :
    Images attachées Images attachées  

  4. #4
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Avec l'addon firebug de firefox, ou dragonfly de opera, tu peux surveiller les appels ajax en temps réel, et ainsi verifier ce qui se passe dans ta page au niveau du DOM, du javascript, du CSS et de l'ajax.

    Z.

  5. #5
    Membre très actif
    Homme Profil pro
    Épine dans le pieds
    Inscrit en
    Mai 2004
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Épine dans le pieds

    Informations forums :
    Inscription : Mai 2004
    Messages : 425
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    Avec l'addon firebug de firefox, ou dragonfly de opera, tu peux surveiller les appels ajax en temps réel, et ainsi verifier ce qui se passe dans ta page au niveau du DOM, du javascript, du CSS et de l'ajax.

    Z.
    Intéressant, mais comme mon projet est hébergé sur ma machine de travail, j'obtiendrai toujours mon IP. Quand à AJAX, c'est un mot qui me fait encore peur (je sais, à tord).

    Merci en tous cas pour ta réponse.

    Px

  6. #6
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Je pense que tu n'en saisi pas encore l'interet. Installe le (deja dans opera par defaut), surtout si tu manipules javascript, et met au point du css.

    Tu peux par exemple modifier le css en direct. Par exemple ajuster la largeur d'un block, changer la couleur, taille d'un texte.
    Au niveau du javascript : les erreurs apparaissent, et tu peux executer toi meme des scripts dans uen console, qui seront executés sur ta page.

    Voila pour faire court, car on peut faire plus de chose encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. stocker des données Json dans une listview
    Par niggasinparis dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 27/05/2015, 11h58
  2. Comment stocker un article HTML dans une BDD SQL ?
    Par celas dans le forum ASP.NET
    Réponses: 8
    Dernier message: 10/08/2009, 20h08
  3. Réponses: 6
    Dernier message: 02/07/2008, 17h28
  4. [MySQL] Stocker un tableau 1D dans une BDD ?
    Par supergrey dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/09/2007, 22h48
  5. [VB.Net] Comment stocker un .doc dans une BDD ?
    Par SergeF dans le forum Contribuez
    Réponses: 8
    Dernier message: 12/10/2005, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo