Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Affichage d'une page PHP en fontion d'une modif de variable MySQL

4 réponses
Avatar
Arnaud
Salut à tous

Je desire réaliser un chat de discution entre deux internautes et afficher
les mises à jours de nouvelles ecritures au fure et à mesure qu'elle ssont
ecrites , le tout via une base MySQL.

Comment faire pour declancher le réafichage d'une page HTML / PHP en fontion
d'un évenement de type modification d'une variable Mysql par exemple

Solution 1 : une boucle de type suivant fait planter mon hebergeur ...

do
{ lire $variableMySQL // Variable qui indique une modification du texte à
afficher
}
while($VariableMySQL==1);
affiche page.htm

Solution 2 : La ligne suivant provoque un réafichage "systématique" d'une
page.htm tout les 2 secondes avec un clignotement pas pro du tout ...
<meta http-equiv="refresh" content="2; page.htm">


Cordialement

Arnaud

4 réponses

Avatar
Papilou
Au lieu de faire cela coté serveur, fais le coté client, il suffit de faire
un refrech en html dans l'entête de page toute les 15 secondes par exemple.
Sur le principe, tu ne peux pas faire cela coté serveur, car le serveur va
te jeter si le programme dure plus de 30 secondes en exécution....(ceci afin
d'éviter les boucles sans fin sur le serveur)
<META http-equiv="Refresh" CONTENT="(nombre de secondes
d'affichage);url=(adresse de la page Web à afficher)">
Avatar
CrazyCat
Papilou wrote:
Au lieu de faire cela coté serveur, fais le coté client, il suffit de faire
un refrech en html dans l'entête de page toute les 15 secondes par exemple.
Sur le principe, tu ne peux pas faire cela coté serveur, car le serveur va
te jeter si le programme dure plus de 30 secondes en exécution....(ceci afin
d'éviter les boucles sans fin sur le serveur)


Je crois que c'est la solution N°2 indiquée par arnaud et qui n'est pas
satisfaisante.

Pour ma part, je verrais plutôt un système en ajax qui interroge
"fréquemment" la base de données et remet à jour la page si une
modification a été faite.

--
Réseau IRC Francophone: http://www.crazy-irc.net
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr

Avatar
Arnaud
Je crois que c'est la solution N°2 indiquée par arnaud et qui n'est pas
satisfaisante.


Effectivement ...

Pour ma part, je verrais plutôt un système en ajax qui interroge
"fréquemment" la base de données et remet à jour la page si une
modification a été faite.



OK merci , j'ai plus qu'a me metre à l'AJAX ou peux etre au Java ou JSP ...

Arnaud

Avatar
CrazyCat
Arnaud wrote:
Pour ma part, je verrais plutôt un système en ajax qui interroge
"fréquemment" la base de données et remet à jour la page si une
modification a été faite.
OK merci , j'ai plus qu'a me metre à l'AJAX ou peux etre au Java ou JSP ...



L'ajax me semble la solution la plus pratique pour ton cas:
il te suffit de mettre le contenu du "chat" dans un div bien particulier
et d'avoir un petit js du genre (partant du principe que tu as une
fonction existante getAjax qui te renvoit une chaine vide ou les
nouveaux messages)

function refresh() {
myMsg = getAjax();
if (myMsg!='') {
document.getElementById('div').innerHTML =
document.getElementById('div').innerHTML + myMsg;
}
setTimeout('refresh()', 15000);
}

et bien sur dans le onload du body: refresh()
--
Réseau IRC Francophone: http://www.crazy-irc.net
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr