|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 14 ![]() |
Hello,
J'ai réussi à enregistrer du timestamp dans ma table de mon forum sous l'attribut "datepost" avec cette requête et la fonction NOW(): Code :
Code :
Citation:
Merci |
|||||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Vinciane Développeur Web Inscription : novembre 2010 Messages : 66 ![]() |
essaie peut-être:
Code :
echo DATE_FORMAT($val["datepost"],"%d/%m/%Y à %Hh%imin");
__________________
Symfony par une débutante - Elgg - PHP Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom.. "The cake is lie" - Doug Rattman, Portal |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 89 ![]() |
relis la doc, DATE_FORMAT accepte comme 1er paramètre une date au format ... DATE
ex : 2010-12-16 alors que tu toi tu lui fourni un timestamp ex : 1292496899 Soit tu arrêtes le timestamp dans ta base et tu le remplaces par un champ DATETIME Soit tu utilises la fonction FROM_UNIXTIME à la place de DATE_FORMAT Cette fonction utilise le même principe mais avec un timestamp au lieu d'une date ex : SELECT FROM_UNIXTIME(1292496899, '%d/%m/%Y %h:%i:%s') as dateFormatee FROM maTable Bon courage EDIT : en te relisant je vois que tu utilises NOW() qui enregistre un DATETIME et non un timestamp. Dans ce cas il faut effectivement utiliser DATE_FORMAT |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 14 ![]() |
merci mais pourquoi dans ma table il me met la date au format 2010-12-16 11:25:46, j'ai pas bien saisi car le timestamp est un nombre à 10 chiffres.
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 89 ![]() |
ton champ dans ta table est donc au format DATETIME, ce n'est pas un INT par exemple ....
Le timestamp est un nombre entier positif qui indique le nombre de secondes écoulées depuis le 1er janvier 1970 (ex :1292497528 pour le 16/12/2010 à 12:05:28) Il faut donc bien utiliser DATE_FORMAT, seul les 2e premiers paramètres sont valides (cf l'exemple de Vicrabb) |
|
|
00
|
|
|
#6 | |
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 14 ![]() |
Ce que je veux c'est récupérer cette date pour l'afficher sur le forum en : 16-12-2010 à 11:25:46 au lieu de 2010-12-16 11:25:46
J'ai donc changé dans ma table mon attribut datepost en datetime au lieu de timestamp. Je crois qu'il faut utiliser la fonction date() pour afficher du datetime alors j'ai essayé ça: Code :
echo date("d/m/Y H:i:s",$val["datepost"]); Citation:
|
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Vinciane Développeur Web Inscription : novembre 2010 Messages : 66 ![]() |
Pour date(), le deuxième argument doit être un timestamp, or, la valeur que tu envoies apparemment n'est pas un timestamp.
As-tu essayé le code que je t'ai mis au moins?
__________________
Symfony par une débutante - Elgg - PHP Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom.. "The cake is lie" - Doug Rattman, Portal |
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 14 ![]() |
c'est bon ça marche!
Merci à vous. Voilà ce que j'ai fais dans mon select: Code :
echo date("d/m/Y à H:i:s", strtotime($val["datepost"])); Citation:
Citation:
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Personnellement j'ai toujours préféré faire ce genre de transformations directement dans la requête SQL.
Code :
$SQL = 'SELECT `login`, `message`, DATE_FORMAT(`datepost`, "%d/%m/%Y à %H:%i:%s") AS `datepost` FROM forum2 ORDER BY `ID` DESC';
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
00
|
Copyright © 2000-2012 - www.developpez.com