Les Allergies
Alimentaires
Posez votre question Signaler

Insertion date sql dans php [Résolu]

taikanne 8Messages postés 19 décembre 2008Date d'inscription - Dernière réponse le 5 janv. 2009 à 11:53
Bonjour,
je souhaite insérer une date tirée d'une base sql sur une page. Je souhaite qu'elle soit au format jj/mm/aaaa.
Dans ma base elle est en format anglais.
Lorsque je met la ligne suivante, j'obtiens bien la date mais en aaaa/mm/jj.
<?php echo date ($donnees['timestamp']); ?>
A partir du moment où je tente de formater avec
<?php echo date ('d/m/Y à H\hi', $donnees['timestamp']); ?>
je me retrouve avec comme date "le 01/01/1970 à 01h00".
Quelqu'un peut-il m'aider à avoir la bonne date avec ce format ?
Merci beaucoup
Lire la suite 

Insertion date sql dans php »

14 réponses
Réponse
+1
moins plus
sinon à l'arrache:

$array_date_sql=explode(" ",$donnees['date']);
$array_date=explode("-",$array_date_sql[0]);
$array_heure=explode(":",$array_date_sql[1]);

echo $array_date[2]."/".$array_date[1]."/".$array_date[0]." &agrave; ".$array_heure[0].":".$array_heure[1];
Ajouter un commentaire
Réponse
+0
moins plus
$array_date_sql=explode("/",$donnees['timestamp'])); //transfo date aaaa/mm/jj en un array
//affichage au format français
echo $array_date_sql[2]."/".$array_date_sql[1]."/".$array_date_sql[0];

//modifie si tu n'as pas le format aaaa/mm/jj dans ta base
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

je vais de rajouter les lignes que tu m'as conseillées mais j'obtiens toujours la date au format aaaa/mm/jj.
Je précise que la date dans ma base est au format timestamp.

Merci encore
Alain_42- 5 janv. 2009 à 09:22
au format timestamp c'est à dire que si tu regarde dans le champ date tu as un nombre correspondant au timestamp

donc

si tu fais:

echo "Timestamp de la base: ".$donnees['timestamp'];//tu devrais avoir ce nombre

echo date("d/m/Y H:i',$donnees['timestamp']);//si c'est le cas tu auras la date


es tu sur que le champ qui contient ta date s'appele bien 'timestamp' ?

et si oui, le nom n'est pas très bien choisi, il faut éviter le noms réservés et j'ai peur que celui la en soit un.
taikanne- 5 janv. 2009 à 10:58
j'ai changé le nom de mon champ en "date" (en espérant qu'il ne soit pas réservé).

Si je met :

echo date('d/m/Y H:i',$donnees['date']); // j'obtiens 01/01/1970 01:33

Mais si je met :

echo date($donnees['date']); //j'obtiens 2009/01/04 17:09 (heure de mon entrée dans la base)

C'est sur ce problème que je suis depuis hier Oo
Alain_42- 5 janv. 2009 à 11:02
et pour tester si tu fais seulement:

echo "Date lue dans base: ".$donnees['date'];

ça ecrit quoi ?
Ajouter un commentaire
Réponse
+0
moins plus
ça me met :

Date lue dans base: 2009-01-04 17:09:04
Alain_42- 5 janv. 2009 à 11:29
Donc tu n'est pas en timestamp

dans ta base de données si tu regardes par phpMyAdmin le type du champ date

c'est DATETIME ou TIMESTAMP ?
Ajouter un commentaire
Réponse
+0
moins plus
Le type du champ date est bien timestamp.
Alain_42- 5 janv. 2009 à 11:36
Tu as raison, j'ai fait l'essai même en type timesatmp dans la table ça enregistre 2009/01/05 etc..

alors essayes

echo date('d/m/Y h:i',mktime($donnees['date']));
Ajouter un commentaire
Réponse
+0
moins plus
je sais pas si je dois rire ou pleurer.

J'obtiens avec des données entrées aujourd'hui :

29/03/2009 05:38
Ajouter un commentaire
Réponse
+0
moins plus
Merci

ça m'affiche enfin la date d'aujourd'hui en format français.

Merci encore
Alain_42- 5 janv. 2009 à 11:51
C'est quelle solution que tu as utilisée ?
Ajouter un commentaire
Réponse
+0
moins plus
j'ai utilisé ta dernière proposition :

$array_date_sql=explode(" ",$donnees['date']);
$array_date=explode("-",$array_date_sql[0]);
$array_heure=explode(":",$array_date_sql[1]);

echo $array_date[2]."/".$array_date[1]."/".$array_date[0]." à ".$array_heure[0].":".$array_heure[1];
Ajouter un commentaire
Ce document intitulé « insertion date sql dans php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?