Bonjour les gens,
je m'essaye au JS et je voudrais créer un mini chat avec BdD MySQL.
Pour charger les messages sur ma page j'utilise les fonctions setInterval
et pour le chargement dans un div via un id je lis un fichier avec la fonction load
Code : Sélectionner tout - Visualiser dans une fenêtre à part setInterval('loadMessage()', 1000);
la fonction de lecture de la bd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function loadMessage(){ $('#messages').load('views/message.load.php') }
et la page affichée grace à la fonction load
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 // LECTURE MESSAGES function bdLireMessageChat(){ // CONNEXION $pdo = monPDO::getPDO(); // REQUETE $SQL = "SELECT * FROM Effer_Chat ORDER BY id DESC"; // PREPARATION REQUETE ( SECURITE ) $stmt = $pdo->prepare($SQL); // EXECUTION $stmt->execute(); // RESULTAT & RETOUR $resultat = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); return $resultat; }
Code htm : 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 <?php require_once('../../models/PDO.class.php'); require_once('../../models/model.main.php'); $resultats = bdLireMessageChat(); ?> <?php foreach($resultats as $message) : ?> <div class="w3-panel w3-card-4"> <div class="w3-col w3-padding-16" style="width:100px"> <img src="./public/assets/images/avatars/<?= $message['avatar']; ?>" alt="Avatar" style="width:75%;" class="w3-round"> </div> <?php ?> <div class="w3-rest"> <h6>Posté par <b><?= $message['pseudo']; ?></b></h6> <p><i><?= nl2br($message['message']); ?></i></p> </div> </div> <?php endforeach; ?>
Je pense ne rien avoir oublié.
Le résultat de tout ça, et bien...rien, le fichier me charge bien la page de lecture et affiche mes 2 messages tests, mais rien en cas de nouveaux messages, et même quand je supprime en BdD des données, j'ai l'impression qu'il faut 5 minutes pour réactualiser ma page et en forçant le rechargement de ma page, idem...
Pour info, aucun problème en local, je n'ai le problème qu'en ligne ( Firefox, Chrome, edge )
Help SVP
Partager