Ajouter un date losque on fait un commentaire

Résolu/Fermé
hagualshaikh Messages postés 21 Date d'inscription lundi 17 septembre 2018 Statut Membre Dernière intervention 2 février 2019 - Modifié le 22 sept. 2018 à 18:16
hagualshaikh Messages postés 21 Date d'inscription lundi 17 septembre 2018 Statut Membre Dernière intervention 2 février 2019 - 23 sept. 2018 à 15:15
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
22 sept. 2018 à 16:49
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 lundi 17 septembre 2018 Statut Membre Dernière intervention 2 février 2019
22 sept. 2018 à 17:12
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
22 sept. 2018 à 17:58
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 lundi 17 septembre 2018 Statut Membre Dernière intervention 2 février 2019
22 sept. 2018 à 18:14
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 22 sept. 2018 à 19:23
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 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
22 sept. 2018 à 18:45
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 lundi 17 septembre 2018 Statut Membre Dernière intervention 2 février 2019
Modifié le 22 sept. 2018 à 19:53
### 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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
22 sept. 2018 à 19:55
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 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
22 sept. 2018 à 20:01
ne penses-tu pas alors que tu devrais ajouter date_commente dans la requête INSERT?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024
22 sept. 2018 à 20:21
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 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
22 sept. 2018 à 21:17
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
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
22 sept. 2018 à 23:42

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 lundi 17 septembre 2018 Statut Membre Dernière intervention 2 février 2019
23 sept. 2018 à 15:15
JE vous tous merci pour m,aider j'ais reussite de la probleme merci a jordane45
0