logo Homepage
+  NewbieContest
|-+  Général» Général» problème date en php
Username:
Password:
Pages: [1] 2
  Imprimer  
Auteur Fil de discussion: problème date en php  (Lu 9411 fois)
codejump

Profil challenge

Classement : 2146/54279

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« le: 26 Juillet 2015 à 14:21:58 »

hey !
Bon j'ai un problème avec ma date sur mon petit chat je vous explique plus bas
mon script :
(page chat.php)
$reponse = $bdd->query('SELECT pseudo, message, DATE_FORMAT(datepost, \' %Hh%imin%ss\') AS datepost  FROM minichat ORDER BY ID DESC LIMIT 0, 50');

// Affichage de chaque message (htmlspecialchars = antixss)
while ($donnees = $reponse->fetch() )
{  
    echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . ' ['. htmlspecialchars($donnees['datepost']) .']</p>';
}

(page chat_post.php)
$req = $bdd->prepare('INSERT INTO minichat (pseudo, message, datepost) VALUES(?, ?, NOW())');
$req->execute(array($_POST['pseudo'], $_POST['message']));


donc le problème est, que quand je suis sur la page ca m'affiche que des zeros pour la date "http://gamecube.livehost.fr/GC/minichat.php" pour mieux comprendre.
Journalisée

qui ne tente rien n'a rien
pixis
Administrateur

Profil challenge

Classement : 16/54279

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« #1 le: 27 Juillet 2015 à 07:59:39 »

Dans ta BDD, ta colonne datepost n'est pas vide ? C'est une colonne datetime ?
Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
codejump

Profil challenge

Classement : 2146/54279

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« #2 le: 27 Juillet 2015 à 10:50:03 »

Ma colonne datepost dans ma BDD est comme ca : "0000-00-00 00:00:00"
et oui c'est un colonne datetime.
Journalisée

qui ne tente rien n'a rien
pixis
Administrateur

Profil challenge

Classement : 16/54279

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« #3 le: 27 Juillet 2015 à 10:50:51 »

Bon ben elle n'affiche que des 0 ? Alors pas étonnant que ta page n'affiche que des 0
C'est dans l'INSERT que ça foire, du coup.
Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
codejump

Profil challenge

Classement : 2146/54279

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« #4 le: 27 Juillet 2015 à 11:02:46 »

ouais ^^
d'accord je vais voir merci
Journalisée

qui ne tente rien n'a rien
codejump

Profil challenge

Classement : 2146/54279

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« #5 le: 27 Juillet 2015 à 17:48:12 »

j'ai essayer mais je voit pas ou ca bloque
Journalisée

qui ne tente rien n'a rien
Asteriksme
Modérateur Global

Profil challenge

Classement : 37/54279

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 785

.


Voir le profil WWW
« #6 le: 27 Juillet 2015 à 17:56:42 »

et si tu fais "select now()" ça te donne quoi?
Journalisée

"It's a funny thing about some mathematicians. We often don't care if the results have applications because the results are themselves so pretty."
codejump

Profil challenge

Classement : 2146/54279

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« #7 le: 27 Juillet 2015 à 18:08:13 »

ça m'enlève carrément la date ^^.
Journalisée

qui ne tente rien n'a rien
laxa

Profil challenge

Classement : 206/54279

Néophyte
*
Hors ligne Hors ligne
Messages: 34


Voir le profil WWW
« #8 le: 27 Juillet 2015 à 18:48:19 »

Perso j'ai ca :

Code:
mysql> select DATE_FORMAT(now(), '%Hh%imin%ss');
+-----------------------------------+
| DATE_FORMAT(now(), '%Hh%imin%ss') |
+-----------------------------------+
| 19h47min54s                       |
+-----------------------------------+
1 row in set (0.01 sec)

mysql>

Je ne sais pas trop ou est ton probleme .
Journalisée

ferbos

Profil challenge

Classement : 11/54279

Membre Senior
****
Hors ligne Hors ligne
Messages: 356

The Godfather is back....


Voir le profil WWW
« #9 le: 27 Juillet 2015 à 20:15:39 »

Salut,

ce ne serait pas un problème de syntaxe? Je n'ai pas testé.

Code:
$req = $bdd->prepare("INSERT INTO minichat (pseudo, message, datepost) VALUES('?', '?', now())");

mais on trouve ceci aussi:
http://www.developpez.net/forums/d502298/php/php-sgbd/php-mysql/probleme-d-insert-champ-type-datetime/

ferbos
« Dernière édition: 27 Juillet 2015 à 20:24:03 par ferbos » Journalisée

"Les seules limites sont les fautes."
pixis
Administrateur

Profil challenge

Classement : 16/54279

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« #10 le: 27 Juillet 2015 à 22:27:03 »

Ben moi j'ai créé une table avec les mêmes noms de champ et la même requête INSERT, et tout fonctionne bien. Je ne vois pas pourquoi ça ne marche pas de ton côté ... Au pire, fais comme dans le lien de Ferbos et initialise la date en php mais bon ...
Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
ferbos

Profil challenge

Classement : 11/54279

Membre Senior
****
Hors ligne Hors ligne
Messages: 356

The Godfather is back....


Voir le profil WWW
« #11 le: 28 Juillet 2015 à 06:58:23 »

Je me demande si ce n'est pas un problème de version php avec la fonction now().

ferbos
Journalisée

"Les seules limites sont les fautes."
pixis
Administrateur

Profil challenge

Classement : 16/54279

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« #12 le: 28 Juillet 2015 à 07:28:46 »

Pixis likes it.
Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
codejump

Profil challenge

Classement : 2146/54279

Membre Junior
**
Hors ligne Hors ligne
Messages: 65


Voir le profil
« #13 le: 28 Juillet 2015 à 12:01:42 »

Si on y est presque !
merci a tout le monde, j'ai effectivement fait comme "laxa" et "Asteriksme" ont dit maintenant ca m'affiche l'heure mais moi je voudrais l'heure ou le message a été envoyer ^^ du coup je remet mon code:
mnichat.php:
Code:
<?php
// Connexion à la base de données
try
{
    
$bdd = new PDO('mysql:host=localhost;dbname=*******;charset=utf8''********''********');
}
catch(
Exception $e)
{
        die(
'Erreur : '.$e->getMessage());

}
// 50 derniers messages
$reponse $bdd->query('SELECT pseudo, message, DATE_FORMAT(now(), \'%Hh%imin%ss\') AS datepost FROM minichat ORDER BY ID DESC LIMIT 0, 50');

// Affichage de chaque message (htmlspecialchars = antixss)
while ($donnees $reponse->fetch() )
{  
    echo 
'<p><strong>' htmlspecialchars($donnees['pseudo']) . '</strong> : ' htmlspecialchars($donnees['message']) . ' ['htmlspecialchars($donnees['datepost']) .']</p>';
}
$reponse->closeCursor();
?>


minichat_post.php:
Code:
try
{
$bdd = new PDO('mysql:host=localhost;dbname=*******;charset=utf8', '******', '*******');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare("INSERT INTO minichat (pseudo, message, datepost) VALUES('?', '?', NOW())");
$req->execute(array($_POST['pseudo'], $_POST['message']));
Journalisée

qui ne tente rien n'a rien
ferbos

Profil challenge

Classement : 11/54279

Membre Senior
****
Hors ligne Hors ligne
Messages: 356

The Godfather is back....


Voir le profil WWW
« #14 le: 28 Juillet 2015 à 12:27:24 »

Quelle heure? 00:00:00?

Je demande à avoir un test (ou plus) en live.... C'est pas possible....

ferbos
Journalisée

"Les seules limites sont les fautes."
Pages: [1] 2
  Imprimer  
 
Aller à: