Bonjour tout le monde,
Bon voila je vous explique mon problème : je suis en train de compléter un site que j'ai fait avec un tchat. Mon tchat par lui même va bien mais c'est le rafraichissement qui pose probleme. Avant comme je m'y connaissais pas en ajax j'avais fait un bouton de rafraichissement mais avec le temps j aimerai le retirer. Du coup, je me suis mise à ajax. Mon code a l'air de marcher mais pas sur mon tableau. C'est à dire que mon rafraichissement se fait sur le tableau même. Il s'effectue vu qu'au début le tableau est la avec les différentes données dedans puis il disparait et ne réapparait jamais.
Voici mon code en rapport avec mon problème :
dans mon fichier "tchatSeul.php" :
et dans le fichier "contenuTchatPerso.php" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <html> <head> <script type="text/javascript"> function refresh_div() { var xhr_object = null; if(window.XMLHttpRequest) { // Firefox xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); } var method = 'POST'; var filename = 'contenuTchatPerso.php'; xhr_object.open(method, filename, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { var tmp = xhr_object.responseText; document.getElementById('tableau').innerHTML = tmp; } } xhr_object.send(document.getElementById('tableau').innerHTML); setTimeout('refresh_div()', 1000); } </script> </head> <body onload='refresh_div();'> <form method="post" name="formulaire3" action="" > <fieldset> <span>>> TCHAT PRIVÉ AUX VENGEURS <<</span> <div name="partie" id="convers"> <!-- Affichage de la convers actuelle --> <?php include("./contenuTchatPerso.php"); ?> </div> <table class="tchat"> <!-- Formulaire pour entrer un nouvea message --> <tr> <td align="center"> <input type="text" title="Le message que vous voulez envoyer sur le tchat" id="messageTchatPersoModif" name="messageTchatPerso" maxlength="100" size="57" /> <input type="submit" title="Envoyer le message" class="centrer" value="Ok" /> </td> </tr> </table> </fieldset> </form> </body> </html>
[je passe la partie d'initialisation des variables]
Voila si vous savez ce qui se passe ca m aiderai beaucoup ca fait une semaine que je suis sur ce probleme. J'ai tester la réactualisation avec ajax du div "convers" ca marche mon titre de tchat s affiche mais pareil mon tableau est la puis il est plus la :'(. J'ai meme fait la réactualisation AJAX à partir du fichier tchatSeul.php même mais la par contre le tableau s'affiche réactualisé. Mais bon ca m'interesse pas d'avoir toute ma page web dans le tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <table name="tableau" id="tableau"> <?php while ($m = mysql_fetch_array($req)) { if ($m['dateMessage'] >= $datLim) { $req1 = mysql_query('SELECT * FROM joueurs WHERE id="'.$m['createur'].'"'); while ($j = mysql_fetch_array($req1)) { $nomJoueur = $j['pseudo'] ; } ?> <tr> <td class="contenuTexte"><span class="couleurBlanc"><?php echo date('d/m/Y',$m['date']); ?> <?php echo date('H\hi',$m['date']) ; ?> <?php echo $nomJoueur ; ?> - </span><?php echo code(stripslashes($m['contenu'])) ; ?></td> </tr> <?php } else { $contenu=$m['contenuMessage'] ; $dat=$m['dateMessage'] ; $cr = $m['createurMessage'] ; mysql_query("DELETE FROM Chat WHERE date=\"$dat\" AND type=\"1\" AND createur=\"$cr\"") ; } } ?> </table>Et quand je regarde le code source de la page mon tableau et ses données apparaissent.
Merci de m'aider
Partager