Affichage date dans un tchat
Résolu/Fermé
sunev
-
18 juin 2017 à 23:21
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mars 2025 - 20 juin 2017 à 20:42
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mars 2025 - 20 juin 2017 à 20:42
A voir également:
- Affichage date dans un tchat
- Coco tchat - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Affichage double ecran - Guide
- Comment ouvrir un fichier dat - Guide
14 réponses
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
Modifié le 19 juin 2017 à 00:10
Modifié le 19 juin 2017 à 00:10
Bonjour,
1 - Ta question concerne le PHP ... alors pourquoi la poster dans le forum JAVASCRIPT ?? ( je la déplace au bon endroit ! )
2- Lorsque tu postes du code.. merci d'indiquer, dans les balises de code, le langage ... histoire d'avoir la coloration syntaxique.
Explications disponibles ici: https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
3 - Pour voir les éventuelles erreurs PDO .. tu dois ACTIVER l'affichage des erreurs PDO : voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
4 - Ton message d'erreur semble indiquer que ta requête contient une erreur ou ne retourne aucun résultat ou que la connexion à la bdd n'a pas été faite
5 - Au lieu d'utiliser le "query" il est préférable d'utiliser les requêtes préparées... même pour du SELECT ...
Déjà on commence par placer le code de connexion à la bdd dans un fichier
à part qu'on aura qu'à inclure dans nos différentes pages.
AU passage... on y active la gestion des erreurs PDO (voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs )
Ensuite.. on place le MAXIMUM de code PHP .. AVANT le html.
.. et on n'utilise pas les fonctions comme htmlspecialchar pour l'insertion en bdd .. uniquement pour l'affichage !
Cordialement,
Jordane
1 - Ta question concerne le PHP ... alors pourquoi la poster dans le forum JAVASCRIPT ?? ( je la déplace au bon endroit ! )
2- Lorsque tu postes du code.. merci d'indiquer, dans les balises de code, le langage ... histoire d'avoir la coloration syntaxique.
Explications disponibles ici: https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
3 - Pour voir les éventuelles erreurs PDO .. tu dois ACTIVER l'affichage des erreurs PDO : voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
4 - Ton message d'erreur semble indiquer que ta requête contient une erreur ou ne retourne aucun résultat ou que la connexion à la bdd n'a pas été faite
5 - Au lieu d'utiliser le "query" il est préférable d'utiliser les requêtes préparées... même pour du SELECT ...
Déjà on commence par placer le code de connexion à la bdd dans un fichier
à part qu'on aura qu'à inclure dans nos différentes pages.
AU passage... on y active la gestion des erreurs PDO (voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs )
<?php //Fichier : cnxbdd.php // connexion à la bdd try{ $bdd =new PDO('mysql:host=localhost;dbname=chatmini; charset=utf8', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?>
Ensuite.. on place le MAXIMUM de code PHP .. AVANT le html.
.. et on n'utilise pas les fonctions comme htmlspecialchar pour l'insertion en bdd .. uniquement pour l'affichage !
<?php //-----------------------------------------------------------// //Affichage des erreurs //-----------------------------------------------------------// error_reporting(E_ALL); ini_set('display-errors','on'); //-----------------------------------------------------------// //connexion à la bdd //-----------------------------------------------------------// require_once "cnxbdd.php"; //-----------------------------------------------------------// //traitement du submit //-----------------------------------------------------------// //récupération PROPRE des variables AVANT de les utiliser : $message = !empty($_POST['message']) ? $_POST['message'] : NULL; $pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL; //Insertion en bdd si non vide if ($pseudo && $message) { $sql = "INSERT INTO chat (pseudo, message, date_creation) VALUES(?, ?, NOW())"; $datas = array($pseudo,$message); try{ $prep = $bdd->prepare($sql); $prep->execute($datas); }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } } //-----------------------------------------------------------// //Liste des messages //-----------------------------------------------------------// $sql = "SELECT pseudo, message, DATE_FORMAT(date_creation, \'%d/%m/%Y a %Hh%i\') AS date_creation FROM chat ORDER BY ID DESC LIMIT 0, 10'"; try{ $prep = $bdd->prepare($sql); $prep->execute(); $allmsg = $prep->fetchAll(); // on stocke les résultats dans un array }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } ?> <!-- Et ensuite...le reste de ton code html --> <!-- ... --> <div id="messages" class="vert"> <?php if(!empty($allmsg)){ foreach($allmsg as $smg){ echo "<p> <b>". $msg['date_creation'].": </b> <b>".htmlspecialchars($msg['pseudo'])." : </b> ".htmlspecialchars($msg['message'])."<hr><br/> </p> "; } } ?> </div>
Cordialement,
Jordane
salut jordane45 et merci de ta réponse
j'ai mis le code que tu m'a envoyé et il me renvoie l'erreur suivante:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe pr�s de '\'%d/%m/%Y a %Hh%i\') AS date_creation FROM chat ORDER ' � la ligne 3
sur la ligne:
juste aprés 10 il y aurait un ' de trop, mais c'est pareil en l'enlevant, j'ai essayé d'autres rajout de ' et de () mais ça renvoie toujours la méme erreur
j'ai mis le code que tu m'a envoyé et il me renvoie l'erreur suivante:
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe pr�s de '\'%d/%m/%Y a %Hh%i\') AS date_creation FROM chat ORDER ' � la ligne 3
sur la ligne:
$sql = "SELECT pseudo,
message,
DATE_FORMAT(date_creation, \'%d/%m/%Y a %Hh%i\') AS date_creation
FROM chat
ORDER BY ID DESC LIMIT 0, 10'";
juste aprés 10 il y aurait un ' de trop, mais c'est pareil en l'enlevant, j'ai essayé d'autres rajout de ' et de () mais ça renvoie toujours la méme erreur
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 juin 2017 à 09:51
20 juin 2017 à 09:51
Bonjour,
Il n'est pas nécessaire d'échapper les ' à l'intérieur des "
Essaie ça :
Xavier
Il n'est pas nécessaire d'échapper les ' à l'intérieur des "
Essaie ça :
$sql = "SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS date_creation FROM chat ORDER BY ID DESC LIMIT 0, 10";
Xavier
Merci Reivax962
Mais avec ton code une nouvelle erreur qui s'affiche, le casse tête chinois continue
Erreur : SQLSTATE[42S22]: Column not found: 1054 Champ 'date_creation' inconnu dans field list
j'ai simplifié le code du mini tchat au plus simple: 2 pages (3 avec la bdd)
Page d’ouverture:
essaitchat.php
Page de réactualisation:
essai_mini_tchat_load_messages.php
Mon premier minitchat fonctionné trés bien avec la date mais l'actualisation ne fonctionnée pas,
j'ai donc utilisé jquery pour l'actualisation qui a fonctionné avec
mais la date elle ne fonctionné plus?
Si on enleve la date et son affichage ce code marche trés bien et le minitchat fonctionne avec son actualisation automatique.
On peut voir ça sur
Mais avec ton code une nouvelle erreur qui s'affiche, le casse tête chinois continue
Erreur : SQLSTATE[42S22]: Column not found: 1054 Champ 'date_creation' inconnu dans field list
j'ai simplifié le code du mini tchat au plus simple: 2 pages (3 avec la bdd)
Page d’ouverture:
essaitchat.php
<?php //connection a la BDD include("mini_tchat_inc_connect_bdd.php"); ?> <!DOCTYPE html> <html><head> <title>TChat</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head><body> <?php //-----------------------------------------------------------// //traitement du submit //-----------------------------------------------------------// //récupération PROPRE des variables AVANT de les utiliser : $message = !empty($_POST['message']) ? $_POST['message'] : NULL; $pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL; //Insertion en bdd si non vide if ($pseudo && $message) { $sql = "INSERT INTO chat (pseudo, message, date_creation) VALUES(?, ?, NOW())"; $datas = array($pseudo,$message); try{ $prep = $bdd->prepare($sql); $prep->execute($datas); }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } } //-----------------------------------------------------------// //Liste des messages //-----------------------------------------------------------// $sql = "SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS date_creation FROM chat ORDER BY ID DESC LIMIT 0, 10"; try{ $prep = $bdd->prepare($sql); $prep->execute(); $allmsg = $prep->fetchAll(); // on stocke les résultats dans un array }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } ?> <!-- Et ensuite...le reste de ton code html --> <form name="" method="post"> <p><input class="text" type="text" placeholder="PSEUDO" name="pseudo" value="<?php if (isset($pseudo)) { echo $pseudo; } ?>" /></p> <p><textarea type="text" name="message"></textarea></p> <p><input type="submit" value="Envoyer"></p> </form> //affichage des messages <div id="messages"> <?php if(!empty($allmsg)){ foreach($allmsg as $smg){ echo "<p> <b>". $msg['date_creation'].": </b> <b>".htmlspecialchars($msg['pseudo'])." : </b> ".htmlspecialchars($msg['message'])."<hr><br/> </p> "; } } ?> </div> <script> setInterval('load_messages()', 2000); function load_messages(){ $('#messages').load('essai_mini_tchat_load_messages.php'); } </script> </body></html>
Page de réactualisation:
essai_mini_tchat_load_messages.php
//connection a la BDD include("mini_tchat_inc_connect_bdd.php"); //-----------------------------------------------------------// //Liste des messages //-----------------------------------------------------------// $sql = "SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS date_creation FROM chat ORDER BY ID DESC LIMIT 0, 10"; try{ $prep = $bdd->prepare($sql); $prep->execute(); $allmsg = $prep->fetchAll(); // on stocke les résultats dans un array }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } ?> <div id="messages"> <?php if(!empty($allmsg)){ foreach($allmsg as $smg){ echo "<p> <b>". $msg['date_creation'].": </b> <b>".htmlspecialchars($msg['pseudo'])." : </b> ".htmlspecialchars($msg['message'])."<hr><br/> </p> "; } } ?> </div>
Mon premier minitchat fonctionné trés bien avec la date mais l'actualisation ne fonctionnée pas,
j'ai donc utilisé jquery pour l'actualisation qui a fonctionné avec
mais la date elle ne fonctionné plus?
Si on enleve la date et son affichage ce code marche trés bien et le minitchat fonctionne avec son actualisation automatique.
On peut voir ça sur
http://siteartpeinture.free.fr/mini_tchat.php
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
20 juin 2017 à 17:57
20 juin 2017 à 17:57
Le message d'erreur est on ne peut plus clair ....
Visiblement : Champ 'date_creation' inconnu ... cela signifie que dans ta table ... aucun champ ne porte le nom de : date_creation (attention aux majuscules/minuscules !!! )
Erreur : SQLSTATE[42S22]: Column not found: 1054 Champ 'date_creation' inconnu dans field list
Visiblement : Champ 'date_creation' inconnu ... cela signifie que dans ta table ... aucun champ ne porte le nom de : date_creation (attention aux majuscules/minuscules !!! )
LE COPIER COLLER de la table chat de la BDD chatmini
( je sais il manque un T devant chat)
4 date_creation datetime
( je sais il manque un T devant chat)
4 date_creation datetime
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
donc pas de probleme de ce côté là
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
20 juin 2017 à 18:19
20 juin 2017 à 18:19
Tu pourrais nous faire un DUMP (structure + quelques données) de ta BDD ?
De plus .. dans ta requête .. tu as mis un ALIAS portant le même nom que le champ
Evite !
Essaye :
De plus .. dans ta requête .. tu as mis un ALIAS portant le même nom que le champ
SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS date_creation FROM chat ORDER BY ID DESC LIMIT 0, 10
Evite !
Essaye :
SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS DATECREATION FROM chat ORDER BY ID DESC LIMIT 0, 10";
la srtucture de la table;
1 id int(11) Non Aucune AUTO_INCREMENT
2 pseudo varchar(25) latin1_swedish_ci NonAucune
3 message text latin1_swedish_ci Non Aucune
4 date_creation datetime Non Aucune
fichier: mini_tchat_inc_connect_bdd.php
1 id int(11) Non Aucune AUTO_INCREMENT
2 pseudo varchar(25) latin1_swedish_ci NonAucune
3 message text latin1_swedish_ci Non Aucune
4 date_creation datetime Non Aucune
fichier: mini_tchat_inc_connect_bdd.php
<?php //Affichage des erreurs error_reporting(E_ALL); ini_set('display-errors','on'); //connexion à la bdd try{ $bdd =new PDO('mysql:host=localhost;dbname=chatmini; charset=utf8', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?>
dans le champ 1 il n'est pas en PRIMARY
je le met peut être que ça vient de là
je le met peut être que ça vient de là
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
20 juin 2017 à 18:44
20 juin 2017 à 18:44
Non.
Mais as tu modifié la requête comme je te l'ai dit ??
Mais as tu modifié la requête comme je te l'ai dit ??
j'ai changé date_creation pour creation
j'ai mis le champ id en Primary
les nouvelles erreurs qui s'affichent:
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 24
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 25
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 26
j'ai mis le champ id en Primary
les nouvelles erreurs qui s'affichent:
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 24
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 25
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 26
oui pour la requête
SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS DATECREATION
FROM chat
ORDER BY ID DESC LIMIT 0, 10";
a la place de DATECREATION j'ai mis creation au lieu de date_creation, et et mis mon champ id en PRIMARY maintenant j' ai ces nouvelles erreurs/
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 24
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 25
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 26
SELECT pseudo, message, DATE_FORMAT(date_creation, '%d/%m/%Y à %Hh%i') AS DATECREATION
FROM chat
ORDER BY ID DESC LIMIT 0, 10";
a la place de DATECREATION j'ai mis creation au lieu de date_creation, et et mis mon champ id en PRIMARY maintenant j' ai ces nouvelles erreurs/
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 24
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 25
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 26
if(!empty($allmsg)){
foreach($allmsg as $smg){
echo "<p>
24 <b>". $msg['creation'].": </b>
25 <b>".htmlspecialchars($msg['pseudo'])." : </b>
26 ".htmlspecialchars($msg['message'])."<hr><br/>
</p> ";
foreach($allmsg as $smg){
echo "<p>
24 <b>". $msg['creation'].": </b>
25 <b>".htmlspecialchars($msg['pseudo'])." : </b>
26 ".htmlspecialchars($msg['message'])."<hr><br/>
</p> ";
L'erreur
Erreur : SQLSTATE[42S22]: Column not found: 1054 Champ 'date_creation' inconnu dans field list
venait bien de la requête avec date_creation puisque en changeant avec
creation ça fonctionne, mais maintenant les messages ne veulent plus s'afficher, la variable $msg n'est pas reconnue et affiche les erreurs :
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 24 25 26
pour le code
pourtant dans: foreach($allmsg as $smg) elle devrait être prise en compte?
Erreur : SQLSTATE[42S22]: Column not found: 1054 Champ 'date_creation' inconnu dans field list
venait bien de la requête avec date_creation puisque en changeant avec
creation ça fonctionne, mais maintenant les messages ne veulent plus s'afficher, la variable $msg n'est pas reconnue et affiche les erreurs :
Notice: Undefined variable: msg in C:\EasyPHP-12.1\www\01_esais\essai_mini_tchat_load_messages.php on line 24 25 26
pour le code
21 if(!empty($allmsg)){ 22 foreach($allmsg as $smg){ 23 echo "<p> 24 <b>". $msg['creation'].": </b> 25 <b>".htmlspecialchars($msg['pseudo'])." : </b><br/> 26 " .htmlspecialchars($msg['message'])." </p> ";
pourtant dans: foreach($allmsg as $smg) elle devrait être prise en compte?
ça y est les mecs
ça marche avec:
il ne reste plus qu'à habiller le code avec du css
Merci a toi jordane45 et à Reivax962 de votre aide, je vais mettre le code en entier pour ceux que ça interresse.
ça marche avec:
if(!empty($allmsg)){ foreach($allmsg as$donnees){ echo '<P> ' . $donnees['DATECREATION']. ':<strong> ' . htmlspecialchars($donnees['pseudo']) .'</strong> : ' . htmlspecialchars($donnees['message']) . '</p>'; } } ?>
il ne reste plus qu'à habiller le code avec du css
Merci a toi jordane45 et à Reivax962 de votre aide, je vais mettre le code en entier pour ceux que ça interresse.
3 fichiers:
la connection a la bdd:
mini_tchat_inc_connect_bdd.php
la page principale que l'on peut renommée en index.php ou autre:
essaitchat.php
La page d'actualisation automatique:
essai_mini_tchat_load_messages.php
Il ne reste plus qu'à habiller tout ça avec du css.
la connection a la bdd:
mini_tchat_inc_connect_bdd.php
<?php //Affichage des erreurs error_reporting(E_ALL); ini_set('display-errors','on'); //connexion à la bdd try{ $bdd =new PDO('mysql:host=localhost;dbname=chatmini; charset=utf8', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?>
la page principale que l'on peut renommée en index.php ou autre:
essaitchat.php
<?php //connection a la BDD include("mini_tchat_inc_connect_bdd.php"); ?> <!DOCTYPE html> <html><head> <title>TChat</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head><body> <?php //-----------------------------------------------------------// //traitement du submit //-----------------------------------------------------------// //récupération PROPRE des variables AVANT de les utiliser : $message = !empty($_POST['message']) ? $_POST['message'] : NULL; $pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL; //Insertion en bdd si non vide if ($pseudo && $message) { $sql = "INSERT INTO chat ( pseudo, message, creation) VALUES(?, ?, NOW())"; $datas = array($pseudo,$message); try{ $prep = $bdd->prepare($sql); $prep->execute($datas); }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } } //-----------------------------------------------------------// //Liste des messages //-----------------------------------------------------------// $sql = "SELECT pseudo, message, DATE_FORMAT(creation, '%d/%m/%Y à %Hh%i') AS DATECREATION FROM chat ORDER BY ID DESC LIMIT 0, 10"; try{ $prep = $bdd->prepare($sql); $prep->execute(); $allmsg = $prep->fetchAll(); // on stocke les résultats dans un array }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } ?> <!-- Et ensuite...le reste du code html --> <form name="" method="post"> <p><input class="text" type="text" placeholder="PSEUDO" name="pseudo" value="<?php if (isset($pseudo)) { echo $pseudo; } ?>" /></p> <p><textarea type="text" name="message"></textarea></p> <p><input type="submit" value="Envoyer"></p> </form> <div id="messages"> <?php if(!empty($allmsg)){ foreach($allmsg as$donnees){ echo '<P> ' . $donnees['DATECREATION']. ':<strong> ' . htmlspecialchars($donnees['pseudo']) .'</strong> : ' . htmlspecialchars($donnees['message']) . '</p>'; } } ?> </div> <script> setInterval('load_messages()', 2000); function load_messages(){ $('#messages').load('essai_mini_tchat_load_messages.php'); } </script> </body> </html>
La page d'actualisation automatique:
essai_mini_tchat_load_messages.php
<?php //connection a la BDD include("mini_tchat_inc_connect_bdd.php"); //-----------------------------------------------------------// //Liste des messages //-----------------------------------------------------------// $sql = "SELECT pseudo, message, DATE_FORMAT(creation, '%d/%m/%Y à %Hh%i') AS DATECREATION FROM chat ORDER BY ID DESC LIMIT 0, 10"; //"SELECT pseudo, message, DATE_FORMAT(creation, '%d/%m/%Y à %Hh%i') AS creation FROM chat //ORDER BY ID DESC LIMIT 0, 10"; try{ $prep = $bdd->prepare($sql); $prep->execute(); $allmsg = $prep->fetchAll(); // on stocke les résultats dans un array }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); } ?> <div id="messages"> <?php if(!empty($allmsg)){ foreach($allmsg as$donnees){ echo '<P> ' . $donnees['DATECREATION']. ':<strong> ' . htmlspecialchars($donnees['pseudo']) .'</strong> : ' . htmlspecialchars($donnees['message']) . '</p>'; } } ?> </div>
Il ne reste plus qu'à habiller tout ça avec du css.
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
20 juin 2017 à 20:42
20 juin 2017 à 20:42
Tu penseras à mettre le sujet en RÉSOLU.
Pour le css... on te laisse faire.
Pour le css... on te laisse faire.