Comment dois-je faire en temps réel d'interrogation de la base de données en MySQL/PHP?
J'ai un script Ruby qui est constamment mise à jour d'une base de données MySQL. J'en veux pour preuve le "mysql_num_rows()
" en temps réel. De sorte qu'une entrée est insérée dans la base de données par le script Ruby je veux que le script PHP pour mettre à jour ses mysql_num_row() sont prises en compte en temps réel.
J'ai essayé d'utiliser <meta http-equiv="refresh" content="5">
, mais je ne pense pas que ce soit la meilleure solution.
Ce que quelqu'un a une meilleure solution?
J'ai ajusté vos balises, retrait de ruby, car il n'était pas vraiment important de la question, et a ajouté jquery car il est important dans la réponse choisie.
OriginalL'auteur ethicalhack3r | 2010-11-17
Vous devez vous connecter pour publier un commentaire.
Utiliser JavaScript sur la page d'effectuer régulièrement un appel vers le serveur et obtenir certaines données. À l'aide de la jQuery de la bibliothèque de la croix-prise en charge du navigateur de l'AJAX, il vous suffit de faire ceci:
Qui fera une demande à votre serveur toutes les 5 secondes et coller le résultat de ce que vous renvoyer à un élément avec un id de
rowcounter
, par exempleque mettez-vous dans la getrows.php fichier? il faut tout de balises html avec un id de rowcounter ou quoi que ce soit?
Non: il vous suffit de retourner une chaîne de texte. Pas de HTML ou JSON nécessaire (bien que vous pouvez le faire et jQuery va analyser en conséquence).
OriginalL'auteur Phrogz
Je voudrais utiliser un programme de mise à jour ajax pour garder l'interrogation d'une page qui imprime votre mysql_num_row(). Prototype serait une bonne solution: http://www.prototypejs.org/api/ajax/updater
OriginalL'auteur wajiw
Avec seulement PHP et javascript, la seule façon est de vérifier en permanence les mises à jour, si wajiw est exact que l'ajax route serait moins intrusives/bruyant qu'une actualisation de la page entière.
Il faudrait une application (ou de l'applet) avec un permanent de la connexion sur un port/socket pour obtenir des mises à jour comme ils viennent.
OriginalL'auteur jon_darkstar
Si vous allez avoir un grand nombre de visiteurs, il est préférable de stocker vos lignes de numéro de téléphone dans l'statique fichier de script distinct lancé par cron (ou d'exécuter le script en boucle sur le serveur). Puis afficher le numéro de ce fichier statique avec JS, comme Phrogz suggéré. Sinon, vous pouvez dépasser les connexions mysql limite très rapidement.
OriginalL'auteur Qwerty
Interrogation peut-être jamais, en temps réel!
Cependant Mastodonte dirait qu'il répond à vos exigences:
http://juggernaut.rubyforge.org ici
Mais vous aurez besoin de flash sur le côté client.
OriginalL'auteur James Anderson