2010-06-09 5 views
0

Je travaille sur un projet de logiciel de collaboration PHP. J'ai une page qui montre les dernières mises à jour d'autres utilisateurs qui ajoutent du contenu à la base de données, mais a également une entrée de formulaire pour permettre à l'utilisateur d'entrer du texte. Je suis actuellement en utilisant ce code pour actualiser la page automatiquement toutes les 30 secondes:Page d'actualisation automatique PHP sans perte d'entrée utilisateur

header('Refresh: 30'); 

Le problème est que le code d'en-tête actualise la page entière, et pas seulement ce qui est tiré de la base de données. Existe-t-il un code PHP qui va simplement extraire les nouvelles données de la base de données sans actualiser la page entière?

Si quelqu'un pouvait me diriger dans la bonne direction, je l'apprécierais.

Répondre

3

PHP s'exécute uniquement lorsque le navigateur envoie une nouvelle requête au serveur. Si vous demandez au navigateur d'actualiser la page, il le fera précisément.

Si vous souhaitez modifier dynamiquement le contenu de la page après son chargement, vous devrez utiliser JavaScript et AJAX. La bibliothèque jQuery, largement discutée sur Stack Overflow et largement utilisée sur le web, rend les requêtes AJAX particulièrement faciles à exécuter. Avec la bibliothèque installée, vous pouvez écrire quelque chose comme:

$("#element-to-refresh").load("your-page.php #element-to-refresh"); 

Ceci est une approche brute qui génère et transfère beaucoup de contenu inutile, mais il fonctionne. Pour une approche plus élégante, considérez un script qui génère uniquement les données pertinentes que vous pouvez appeler uniquement lorsque vous rafraîchissez.

+0

Merci beaucoup pour votre aide! – Tony

Questions connexes