Ajouter un date losque on fait un commentaire

Résolu
hagualshaikh Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
hagualshaikh Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous,
Désoler pour mes mal façon, solliciter de l'aide.
Je souhaiterai ajouter les dates losque le utilisateure fais un commontair le date se ffiche avec son comtaire mais j'arrve pas le faire se me fiche que des 00/00/000/000 par example donc j'ai mis mon code ci-join pour si il y a quelque' un peu m'aider merci en avance
#### le code:<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mini-chat</title>
    </head>
    <style>
    form
    {
        text-align:center;
    }
    </style>
    <body>
    
    <form action="mini_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

//affichage des erreurs php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test;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());
}

catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message,DATE_FORMAT(date_commente, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commente_fr FROM mini_chien   ORDER BY ID DESC LIMIT 0, 10');

// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
    echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . ' '.':' . htmlspecialchars($donnees['message']) .'</strong> : ' . htmlspecialchars($donnees['date_commente_fr']) . '</p>';
}

$reponse->closeCursor();

?>
    </body>
</html>


EDIT : Ajout des balises de code
###### et ca m'affiche ca :

Pseudo :

Message :


hadjo :oui : 00/00/0000 à 00h00min00s

ADAM :HI : 00/00/0000 à 00h00min00s

AHMED :HELLO : 00/00/0000 à 00h00min00s

hadjo :bonjour : 00/00/0000 à 00h00min00s

: : 20/09/2018 à 19h23min12s
A voir également:

5 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Lorsqu'on a un souci avec des requêtes SQL... il faut les tester directement dans la bdd (via phpmyadmin par exemple) et non pas juste dans son code php.
Cela permet de voir si le souci vient du code... ou de la requête elle même.

Commence par tester cette requête
SELECT pseudo,
             message,
            date_commente,
            DATE_FORMAT(date_commente, '%d/%m/%Y à %Hh%imin%ss') AS date_commente_fr 
FROM mini_chien   
ORDER BY ID DESC
 LIMIT 0, 10

et montre nous ce qu'elle affiche

0
hagualshaikh Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
hadjo :hello : 00/00/0000 à 00h00min00s : en faite il est mem choshe aucoun chanchement par le resultat
je voudrair que le date se affiche le date actuelle pas le 00/00/0000
merci pour votre aide
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si il y a des choses en plus..
Je veux que tu colles le resultat exact et complet *( ou une capture ecran) !
0
hagualshaikh Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Pseudo :

Message :


HA : OK00/00/0000 à 00h00min00s

: 00/00/0000 à 00h00min00s

hadjo : hello00/00/0000 à 00h00min00s

hadjo : oui00/00/0000 à 00h00min00s

ADAM : HI00/00/0000 à 00h00min00s

AHMED : HELLO00/00/0000 à 00h00min00s

hadjo : bonjour00/00/0000 à 00h00min00s

: 20/09/2018 à 19h23min12s
#### ca toute les resulat que j'ai eu apres le execute
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Je ne t'ai pas demandé le résultat dans le exécute.....
Je t'ai expressement demandé d'exécuter la requête que je t'ai donné DIRECTEMENT dans la BDD et de nous en coller le résultat ici !
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, es-tu certain que la date est bien enregistrée dans la base de données? pourquoi as-tu choisi de ne pas partager la page mini_post.php?
0
hagualshaikh Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
### non il est pas enregistree dans la base de donnes mais je voudrais que il creer automatique losque on fais le commontaires par examble de fonction "NOW" QUI donne le date actuelle sans enregistree par le utilisateur
merci par avance


<?php
// Connexion à la base de données
try
{
 $bdd = new PDO('mysql:host=localhost;dbname=test;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 mini_chien (pseudo, message) VALUES(?,?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));

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


EDIT : Ajout des balises de code...; ENCORE....
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
A l'avenir, pour poster ton code sur le forum, merci de le faire correctement
en utilisant les BALISES DE CODE
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, qu'en est-il de ma question concernant l'exécution de la requête DIRECTEMENT dans la BDD ?
Sans réponse à cette simple question.... IMPOSSIBLE de poursuivre.

Car, comme Yg_be l'a supposé (et moi également)... il y a de fortes chances que dans ta BDD... il n'y ait pas de dates inscrites.. et donc qu'il est totalement normal que ton script te retourne des 0000
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
ne penses-tu pas alors que tu devrais ajouter date_commente dans la requête INSERT?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Yg, bonsoir,

Ce n'est peut-être pas nécéssaire.
Il a peut-être défini son champ en TIMESTAMP et défini la valeur sur le ON UPDATE=> current timestamp.

Mais là n'est pas la question.
Pour l'instant il souhaite savoir pourquoi sa requête (puisqu'il a posté dans le forum mysql on ne va regarder que ça dans l'immédiat ! ) ne retourne pas les dates formatées comme il le souhaite.
Pour ça, il va falloir qu'il réponde à ma précédente question.... (le but étant qu'il comprenne un minima pourquoi... et comment solutionner son souci sans venir sur le forum systématiquement ).
Donc laisse tomber son code PHP .. et attendons sa réponse.

Merci.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
je ne comprends pas la demande initiale de la même façon que toi: moi je lis "Je souhaiterai ajouter les dates losque le utilisateure fais un commontair", la question est donc bien de comment enrichir l'INSERT, ou le schéma de la base de données. travailler à partir de l'INSERT me semble beaucoup plus clair et donc plus adéquat.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hadjo
 
Ent fait quand je le faire directement pas de problème toute fonction bien mais ça ça affiche une fois mais moi je voudrais de le afficher chaque niveau message qui crée par le pseudo se donne nouvelle date par exemple si j’a Créer le message à 2018/09 23:01 s’affiche la dates actuellement : est-ce que ça possible ?
Merci en avance @@@hagualshaikh
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Ent fait quand je le faire directement pas de problème

Tu le fais "directement" où ça ? Comment ?



chaque niveau message qui crée par le pseudo se donne nouvelle date

Donc, soit tu définis le champ de date en TIMESTAMP et tu le paramètres en ON UPDATE , CURRENT TIMESTAMP
date_commente  TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

et/ou, dans ta requêtes d' INSERT tu insères également la date
par exemple :
INSERT INTO mini_chien (pseudo, message, date_commente) VALUES(?,?, now())
0
hagualshaikh Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
JE vous tous merci pour m,aider j'ais reussite de la probleme merci a jordane45
0