Utilisez AJAX pour regarder la base de données SQL pour les changements
J'ai une colonne dans ma base de données qui sera mise à jour au hasard. Chaque fois que la colonne est mise à jour j'ai besoin de l'actualisation du contenu sur ma page. Comment puis-je utiliser AJAX + jQuery pour effectuer une action uniquement sur DB changements?
source d'informationauteur Jacob Huggart | 2010-05-11
Vous devez vous connecter pour publier un commentaire.
utiliser la fonction setinterval de javascript pour l'interrogation et de vérifier la valeur de la mise à jour dababase champ
vérifier le lien suivant pour plus de détails http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
Ce que vous décrivez est familièrement appelé La comète de programmation. La comète décrit un groupe de techniques pour pousser le contenu d'une page web avec une persistance de la connexion HTTP.
La poussée serait lancé à l'aide d'un déclencheur/procédure stockée sur le serveur de base de données. De cette façon, il se produit n'importe où la mise à jour des données.
Le serveur (base de données/web) ne peut pas établir une connexion--seul le client peut. Ainsi, vous aurez à interroger la base de données jusqu'à ce qu'il y a une mise à jour. Vous pouvez créer un service web qui vérifie la base de données et qui utilise jQuery.
Edit: je corrige la position des mains. Il est possible de garder un AJAX connexion ouverte jusqu'à ce que le serveur "pousse" des données. Voir: http://en.wikipedia.org/wiki/Reverse_Ajax
Et apparemment c'est vraiment interrogation: http://en.wikipedia.org/wiki/Push_technology#Long_polling. Si le serveur ne dispose pas de données à envoyer et pourtant, il maintient ouverte jusqu'à ce qu'il fait. Ce n'est pas "pure" de la technologie push, car le client ne dispose pas d'un port d'écoute du serveur se connecte. L'effet est similaire, cependant.
Edit 2: Donc de retour pour répondre à votre question... Vous aurez à choisir la façon de "sondage" le service web. Le service web faudra alors vérifier la base de données pour voir si il y avait des mises à jour. Vérification de la base de données pour les mises à jour peut-être la plus délicate et dépend vraiment de vos besoins. Vous pouvez exécuter une requête SQL pour voir si quelque chose a changé, mais comment voulez-vous savoir? Vous auriez besoin d'une sorte de paramètre (généralement une date) à comparer. Si fait de mal, vous pourriez manquer des mises à jour ou plusieurs hits pour une mise à jour. Ce que l'Autocratie dit que ce serait une bonne façon d'être notifié des mises à jour. Vous pouvez garder cette liste dans la base de données en mémoire, etc. c'lorsque le client obtient les mises à jour.
Im faire presque la même chose avec un chat, de recharger un script php toutes les xx secondes.
Ressemble à ceci:
remplacer j $ si pas à l'aide de jquery.noconflict..
C'est une très belle méthode je pense 🙂 si vous souhaitez envoyer à vars chatx.php il suffit d'ajouter ?php &x=1&y=2?>
Crochet spécial de la procédure stockée dans votre base de données que les alertes de votre demande après une modification. Vous aurez besoin d'un module personnalisé et la gâchette droite consolidés.
Votre autre option est d'interrogation.
Vous devrez continuellement interroger une page qui a de la valeur à partir de la base de données.
Je vous suggère de créer une page HTML qui utilise setIntreval() à plusieurs reprises de faire des appels AJAX vers un script PHP qui interroge la base de données. Vous pouvez utiliser JSON et de la POIRE pour rendre la tâche un peu plus facile.
Liens De Référence:
Vous sera pratiquement constamment interroger le serveur pour que les modifications à la DB. Le serveur ne peut pas faire un appel au client, le client va juste être constamment demander au serveur si il y a eu des changements.