3
votes

Synchronisez Javascript et PHP

Je dois créer une application en ligne qui montre un tableau avec le contenu en cours de synchronisation. Cela signifie que si le contenu d'une cellule de tableau est modifié, chaque utilisateur doit recevoir le nouveau contenu sans recharger le site. Un délai de quelques secondes signifie pas de problème.

Le site fonctionne en tant que système de gestion de contenu PHP. Il n'y aura pas plus de 10 utilisateurs en même temps.

Comment feriez-vous cela? Vous utilisez des événements envoyés par le serveur JS? Intervalle des requêtes AJAX?


3 commentaires

Vous devriez jeter un œil aux web-sockets.


C'est un peu large. En gros, vous pouvez soit pousser les mises à jour vers JS, soit extraire les mises à jour de JS. Il y a plusieurs façons de faire chacun de ces.


Les 3 options sont décrites ici: codeburst.io/...


3 Réponses :


0
votes

C’est ce que sont les websockets - mais besoin de prendre en charge les navigateurs plus anciens, puis jetez un œil à comète .


0 commentaires

0
votes

Sur votre serveur, vous auriez du code pour créer le tableau et le livrer au format HTML.

Votre page Web comporte un élément div avec un contenu dynamique. Vous pouvez faire une requête AJAX toutes les 1 seconde pour appeler le script PHP mentionné ci-dessus, prendre sa sortie et remplir le div avec son contenu.


4 commentaires

" Vous pouvez faire une requête AJAX toutes les 1 seconde pour appeler le script PHP mentionné ci-dessus, prendre sa sortie et remplir le div avec son contenu. " alors comment un utilisateur changerait-il le contenu si vous interrogiez seulement mais ne jamais pousser vers le serveur?


Vous pouvez également attacher des demandes AJAX aux actions des utilisateurs, par exemple des clics sur des boutons (ou même simplement en tapant dans un champ). Ces requêtes POST seraient traitées par le serveur et modifieraient quelque chose dans une base de données ou un fichier. Pour construire la table, le serveur examinait le contenu de la base de données / du fichier à chaque fois.


Bien que je viens de réaliser, si l'ensemble de la div est mis à jour toutes les secondes, l'utilisateur n'a presque aucune chance de faire une mise à jour.


Oui, c'est le prochain problème auquel vous êtes confronté. Et après que cela soit résolu, vient la fusion des changements de deux utilisateurs qui se sont produits simultanément (ou assez proches l'un de l'autre). Cela est également lié au verrouillage des données pour un ensemble de modifications. Le tout n'est pas simple et un peu large pour une question.



0
votes

Vous pouvez le faire avec le sondage AJAX, en actualisant la page en utilisant une balise Meta dans votre document HTML avec ( temps en secondes) ou avec quelque chose de plus sophistiqué comme Socket.IO .


0 commentaires