Insertion date sql dans php

Résolu
taikanne Messages postés 20 Statut Membre -  
taikanne Messages postés 20 Statut Membre -
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
Configuration: Windows Vista
Firefox 3.0.5

8 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    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];
    
    1
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    $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
    0
  3. taikanne Messages postés 20 Statut Membre 16
     
    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
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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.
      0
      1. taikanne Messages postés 20 Statut Membre 16 > Alain_42 Messages postés 5413 Statut Membre
         
        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
        0
      2. Alain_42 Messages postés 5413 Statut Membre 904 > taikanne Messages postés 20 Statut Membre
         
        et pour tester si tu fais seulement:

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

        ça ecrit quoi ?
        0
  4. taikanne Messages postés 20 Statut Membre 16
     
    ça me met :

    Date lue dans base: 2009-01-04 17:09:04
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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 ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. taikanne Messages postés 20 Statut Membre 16
     
    Le type du champ date est bien timestamp.
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      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']));
      0
  7. taikanne Messages postés 20 Statut Membre 16
     
    je sais pas si je dois rire ou pleurer.

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

    29/03/2009 05:38
    0
  8. taikanne Messages postés 20 Statut Membre 16
     
    Merci

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

    Merci encore
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      C'est quelle solution que tu as utilisée ?
      0
  9. taikanne Messages postés 20 Statut Membre 16
     
    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];
    0