Discussion:
Affichage d'une page PHP en fontion d'une modif de variable MySQL
(trop ancien pour répondre)
Arnaud
2007-11-27 10:49:27 UTC
Permalink
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
Papilou
2007-11-27 13:41:57 UTC
Permalink
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)">
CrazyCat
2007-11-27 22:34:05 UTC
Permalink
Post by 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)
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
Arnaud
2007-11-29 23:48:41 UTC
Permalink
Post by CrazyCat
Je crois que c'est la solution N°2 indiquée par arnaud et qui n'est pas
satisfaisante.
Effectivement ...
Post by CrazyCat
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
CrazyCat
2007-11-30 08:37:44 UTC
Permalink
Post by Arnaud
Post by CrazyCat
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
Continuer la lecture sur narkive:
Loading...