Afficher la date et l'heure dans mon chat. [Résolu/Fermé]

Signaler
Messages postés
11
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
-
Messages postés
11
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
-
Bonsoir à tous,
je suis entrain de coder un chat avec la date et l'heure du message en mode francophone avant le pseudo.Le probléme est quej'arrive pas a récuperer et afficher la date et l'heure .
Voici mes codes:

une partie de:minichat.php

<?php
// Connexion à la base de données
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=dbchat;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

// Récupération des  messages
$reponse = $bdd->query('SELECT  DATE_FORMAT(date_creation, '%d/%m/%Y %Hh%imin%ss') AS date,pseudo, message FROM chat')
// Affichage des messages 
while ($donnees = $reponse->fetch())
{
	echo '<p><strong>' . htmlspecialchars($donnees['date_creation']). htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}

$reponse->closeCursor();

?>
    </body>
</html>



minichat_post.chat

<?php

// Connexion à la base de données

try

{

    $bdd = new PDO('mysql:host=localhost;dbname=dbchat;charset=utf8', 'root', '');

}

catch(Exception $e)

{

       
 die('Erreur : '.$e->getMessage());


}


// Insertion du message à l'aide d'une requête préparée

$req = $bdd->prepare('INSERT INTO chat (pseudo, message) VALUES(?, ?)');

$req->execute(array($_POST['pseudo'], $_POST['message']));


// Redirection du visiteur vers la page du minichat

header('Location: minichat.php');

?>


Quand je poste un message seuls apparaissent le pseudo et le message mais non la date et l'heure.mais dans la table il ya l'eure en format anglais.

Merci d'avance pour votre aide.




2 réponses

Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
441
Salut,

Tu utilises un alias pour le champ date_creation dans ta requête (mot clé AS) :
SELECT DATE_FORMAT(date_creation, '%d/%m/%Y %Hh%imin%ss') AS date


Il faut donc utiliser cet alias pour accéder à la donnée :
$donnees['date']


Bonne journée
Messages postés
11
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
14 novembre 2016

Bonjour Pilet,
Excuse moi j'ai commis une erreur de frappe.A la place de "AS date "j'avais mis "AS date_creation" du nom de la collonne des dates sur la table "chat".
Cependant je ne vois toujours pas le procécédé que vous m'avez suggeré.


Merci à+. bonne journée.
Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
441
Tu peux essayer de faire un var_dump($donnees); dans la boucle while pour voir les données que tu récupères.
Messages postés
11
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
14 novembre 2016

Bonjour Pilet,

Je crois que je n'avais pas encore appris la fonction " var_dump" mais j'ai essayer de chercher le mode d'emploi sur le net.Je ne suis pas sur mais voilà ce que j'ai fait:
// Récupération  message
$reponse = $bdd->query('SELECT * FROM chat ');

// Affichage de chaque message 
while ($donnees = $reponse->fetch())
{
    echo '<p>'var_dump($donnees); '</p>';
}

$reponse->closeCursor();

?>
    </body>
</html


Cependant le résultat est le meme j'ai le pseudo et le message mais pas la date qui est pourtant presente dans la table"chat"

Merci bonne journée.
Messages postés
31537
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 mars 2021
3 289
Bonjour,
Si ton var_dump ne t'affiche pas la colonne "date" .... c'est que cette colonne n'existe pas ..

Peux tu nous faire un DUMP sql de ta table ?
(si tu ne sais pas comment faire : https://www.techrepublic.com/blog/smb-technologist/import-and-export-databases-using-phpmyadmin/
Messages postés
11
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
>
Messages postés
31537
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 mars 2021

bonjour,
Le lien m'envoie a une page mais il y a ce message"
Oops! Looks like this page has been removed or no longer exists...
  • scratches head* "

J'ai essayer de chercher ailleurs "faire un DUMP de la table " mais je ne sais vraiment pas quoi et comment faire.

Merci encore et bonne journée.
Messages postés
11
Date d'inscription
samedi 29 octobre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
>
Messages postés
31537
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 mars 2021

Bonjour à tous et merci pour l'aide.J'ai trouveé le bonheur en continuant a chercher .Voici la solution si ça peut aider.

minichat.php

   <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mini-chat</title>
    </head>
   

    <style>
    form
    {
        text-align:center;
    }
    </style>
    <body>
    
    <form action="minichat_post.php" method="post">
        <p>
        <label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" ><br />
  
        <label for="message">Message</label> :  <input type="text" name="message" id="message" /><br />

        <input type="submit" value="Envoyer" />
    </p>
    </form>

<?php
// Connexion à la base de données
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=dbchat;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}


// recuperation message

$dat = date("d/m/Y H:i:s"); 
$reponse = $bdd->query("SELECT pseudo, message, DATE_FORMAT(dat, '%d/%m/%Y à %Hh%imin%ss') AS date_fr FROM chat ORDER BY ID DESC");
  
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
    echo '<p><center> Le ' . $donnees['date_fr']. ':<strong> ' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</center></p>';
}
  




$reponse->closeCursor();

?>
    


    </body>
</html>





minichat_post.php

<?php

 Connexion à la base de données
try
{
   $bdd = new PDO('mysql:host=localhost;dbname=dbchat;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
//Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO chat (pseudo, message,dat ) VALUES(?, ?,NOW())');

$req->execute(array($_POST['pseudo'], $_POST['message']));

// Redirection du visiteur vers la page du minichat
header('Location: minichat.php');
?>