IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Retour de date vieux de 30 ans [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut Retour de date vieux de 30 ans
    Bonjour dans ma Bdd MySql, j'ai un champ date (DateTime) correspondant à une date d'inscription au site d'un utilisateur.

    Ce champ sera renseigné par un champ_date = NOW()

    Pour mon développement, j'ai rentré à la mano (en me servant de phpMyAdmin) une date (avec le calendar picker). Lorsque je regarde dans phpMyAdmin je vois bien ma date de ce format : 2007-09-01 00:00:00

    Cependant, dans ma page Php (après formatage en français de la date), je me retrouve avec ceci :
    Membre depuis le : jeudi 01 janvier 1970
    Voici ma colonne dans MySql :

    Champ : DateInscription
    Type : datetime
    Interclassement : rien
    Attributs : rien
    Null : oui
    Défaut : rien
    Extra : rien

    Voici ma fonction pour formater la date en français :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function dcomplete($date) 
    {
     setlocale(LC_TIME, "fr_FR");
     return strftime("%A %d %B %Y", $date);
    }
    Sinon, je suis chez OVH.

    Quelqu'un voit-il pourquoi mon site daterait de Woodstock ?
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 232
    Points : 15 525
    Points
    15 525
    Par défaut
    la date du 01/01/1970 c'est quand le timestamp vaut 0
    donc à un moment la variable $date n'est pas correctement transmise à ta fonction

  3. #3
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    ok !

    je vais donc chercher dans le remplissage de ma variable !

    Merci !
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

  4. #4
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    Et bien non !

    Ma variable $date va bien ! J'ai fait sans fonction, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $query = "SELECT Id, pseudo, DateInscription FROM utilisateurs WHERE mail='".$_POST['login']."' AND pwd='".$_POST['password']."'";
    $result = mysql_query($query);
    while($ctItem = mysql_fetch_array($result))
    	{
    		$_SESSION['Id'] = $ctItem[0];
    		$_SESSION['Pseudo'] = $ctItem[1];
    		$DateInscript = $ctItem[2];
    	};
     
    $_SESSION['DateInscription'] = date("d/m/Y",$DateInscription);
    Si je teste ma session sans faire le formatage de date, j'obtiens ce que j'ai dans la Base de données (2007-09-01 00:00:00), dans le cas contraire j'obtiens la fameuse date des 70's :
    01/01/1970 comme si le champ était vide !

    Cela viendrait de ce formatage de date ?
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 232
    Points : 15 525
    Points
    15 525
    Par défaut
    d'accord, j'ai compris, il faut donner un timestamp à la fonction "date".

    pour récupérer un timestamp avec MySQL fait ça :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Id, pseudo, UNIX_TIMESTAMP(DateInscription) AS timestampDateInscription
    FROM ...

  6. #6
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    C'était bien ça !

    Merci beaucoup
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. c'est quoi le type de retour de date-date
    Par kohan95 dans le forum SQL
    Réponses: 5
    Dernier message: 10/02/2010, 14h22
  2. Windows 7 fonctionne sur un PC vieux de 12 ans !
    Par Emmanuel Chambon dans le forum Windows 7
    Réponses: 22
    Dernier message: 22/07/2009, 17h18
  3. Windows 7 fonctionne sur un PC vieux de 12 ans !
    Par Emmanuel Chambon dans le forum Actualités
    Réponses: 0
    Dernier message: 22/06/2009, 18h04
  4. Retour sur des vieux systemes
    Par kedare dans le forum Langages de programmation
    Réponses: 17
    Dernier message: 27/05/2008, 13h16
  5. [Oracle] Retour de date complète (format DATETIME)
    Par AntaresJon dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/04/2006, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo