Bonjour,
Je cherche à rafraichir une page PHP et ceci après que ma base de donnée (MySQL) soit modifiée.
Est-il possible de faire un truc du genre :
SI
mabasesql_est_modifiee
ALORS
rafraichir_cette_page
Merci d'avance!
Bonjour,
Je cherche à rafraichir une page PHP et ceci après que ma base de donnée (MySQL) soit modifiée.
Est-il possible de faire un truc du genre :
SI
mabasesql_est_modifiee
ALORS
rafraichir_cette_page
Merci d'avance!
Bonsoir !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(mysql_query($req,$cnx)){ header("Refresh: 1;url=index.php"); }
Salut! Merci pour ta réponse.
En fait, je me suis mal exprimé peut être...
En gros je cherche le moyen de communication unidirectionnel et ceci de la base de donnée à la page PHP: Je veux que la base dise à ma page "Quequ'un a ajouté une ligne dans la table 'utilisateurs'" et que la page PHP en soit avertie pour se rafraichir"!
Tu comprends?
( à mon avis c'est impossible mais bon... qui sait!!!)
Ha ouais d'accord alors la... Je sais pas si on peut en revanche tu peux gérer une tache cron qui toute les 5 minutes va vérifier si il y a eu des ajouts et te prévenir mais en temps réel je sais pas si c'est possible![]()
Oui c'est vrai que c'est un peu chaud!
On pourrait faire des rafraîchissements toutes les n mili-secondes avec de l'AJAX... mais bon c'est pas du propre!!! Surtout si l'utilisateur veut par exemple sélectionner du texte et en plein rafraîchissement sa sélection disparaît!!!
De toute façon, je vais creuser un peut quand même et essayer de trouver une méthode équivalente au Push des mails (par exemple sur Yahoo Mail tu vois un mail et se mettre au top de la liste de tes emails sans rafraîchissement ou désagrément!!!)!
(en même temps j'ai posté le même sujet dans le forum Flex pour voir si ça existe au niveau des RIAs)
il ya un framework qui s'appelle prototype qui te permet de rafraichir sans avoir le desagrement de voir disparaitre la selection de l'utilisateur
tu peux voir sur www.prototypejs.org
Ca pourrait servir pour ses besoins? A savoir qu'a chaque ajout d'un utilisateur lui, l'admin, soit prévenu par un rafraichissement ou pas (avec le framework que tu proposes)?
Alors je pense que ca évite le rafraichissement c'est bien ca, mais je ne suis pas sur que cela réponde à sa question à moins que j'ai mal compris le fonctionnement du framework^^
En fait moi je lavai utilise pour faire un chat pour pouvoir afficher les messages et utilisateurs en temps réel.
Avec prototype tu peut faire un count() de ta table maintenant si le count change tu affiche les dernières lignes insérées
Plutot que de faire a chaque fois une requète sur ta base de donnée, pour vérifier si c'est a jour ou pas, tu peux simplement utiliser une zone partagée (soit en mémoire, soit en fichier), dans laquel tu as une variable last_update par exemple. De loa, tu as une requete ajax, toutes les X s/min qui va vérifier si la valeur de ta variable est la meme que celle que ta page a utiliser.
Si last_update est plus récent que celle de ta page, alors tu mets à jour ta page (soit par ajax, soit en la rechargeant).
Si tu souhaite tout de même passer par la base de donnée, tu peux aussi utiliser une table intermédiaire, soit en archive, soit en memory, afin d'effectuer les requetes. Cependant, je te déconseille fortement de faire de multiples connexion + count sur un tables en parralèle. Coté performance, c'est un peu catastrophique.
Onet
Merci pour vos réponses!
Je vais commencer par tester la dernière solution... ça m'a l'air intéressant.
Après, si cela ne me convient pas, je vais passer, comme vous me l'avez bien conseillé, par l'AJAX.
Je vais quand même marquer que ce post est résolu!
Merci encore!
Partager