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 :

Timestamp PHP / timestamp MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut Timestamp PHP / timestamp MySQL
    Bonjour,

    Lorsque j'execute ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $timestamp_depart =  mktime($recup_heure_depart, $recup_minutes_depart, 0, $recup_mois_depart, $recup_date_depart,$recup_annee_depart);
     
     
      $query = "INSERT INTO RESERVATIONS( RES_DATE_DEPART)
    VALUES('$timestamp_depart');
    dans la base Mysql le champ n'affiche que des "0".
    RES_DATE_DEPART est de type Timestamp.

    Qui sait comment stoquer correctement $timestamp_depart dans la base mysql?



    Merci

  2. #2
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $timestamp_depart;
    avant ton query pour voir la valeur de ta variable et donc voir si les paramètres sont les bons
    symfony power user !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Je l'ai fait et j'obtiens bien une valeur: 1213954200 .

    S'il y a un equivalent à mktime qui créé un datetime je suis preneur aussi.
    Je changerais alors les champs de la table en datetime.

  4. #4
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    déjà, il doit te manquer un " sur ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "INSERT INTO RESERVATIONS( RES_DATE_DEPART)
    VALUES('".$timestamp_depart."')";
    regarde avec ça si c'est pas mieux déjà
    symfony power user !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    J'ai fait une erreur en recopiant le code sur le forum, j'utilise cette syntaxe et j'ai toujours des valeurs nulles dans la table.

    Je ne m'en sort pas avec ce stoquage de timestamp php dans une base mysql.

    Merci pour l'aide.

  6. #6
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    bah tout bêtement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fonction convert($timestamp) {
    return date("d-m-Y @ H:i:s", $timestamp)
    }
    symfony power user !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html>
    <head><title></title></head>
    <body>
    <?php
    	$bd_server = "localhost";
    	$bd_user = "root";
    	$bd_password = "";
    	$bd_db = "timestampdb";
    	$sqllink = @mysql_connect($bd_server, $bd_user, $bd_password);
     
    	if ($sqllink) @mysql_select_db($bd_db, $sqllink);
    	$timestamp = mktime(10,30,0,06,04,2008);
    	$x = date("d-m-Y @ H:i:s", $timestamp);
     
      	if ($sqllink){
      		$query = "INSERT INTO test(dt1) VALUES('" . $x . "')";
    		mysql_query($query, $sqllink);    
        }else
    	 echo "pas sqllink";
    ?>
    </body>
    </html>
    Cela ne fonctionne pas, dans la table j'obtiens: 0000-00-00 00:00:00

    Pour résumer j'ai une variable de type timestamp en php.
    J'ai un champ de type timestamp dans une table.
    Comment enregistrer cette valeur dans la table?

  8. #8
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    jviens de tester sur une bdd et qd j'insère une valeur dans un champ timestamp, ca me met : 0000-00-00 00:00:00

    donc à mon avis, le mieux à faire est de passer en datetime le timestamp mysql

    pour cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $x = date("Y-m-d H:i:s", $timestamp);
    et enlève les espaces aussi dans ton value :
    j'ai testé du coup le mm code mais cette fois-ci avec le datetime, ça marche nikel !
    symfony power user !

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Attention, un timestamp MySQL n'est pas une valeur entière (contrairement au timestamp de PHP), c'est une date.
    Pour enregistrer un timestamp Unix dans une base MySQL, il faut tout simplement utiliser un champ de type int

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Merci à tous

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

Discussions similaires

  1. Mon TimeStamp delphi est différent de timestamp php :(
    Par Coussati dans le forum Débuter
    Réponses: 10
    Dernier message: 28/03/2009, 01h20
  2. Gérer timestamp avec PHP ou mysql ?
    Par jcaspar dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 02/04/2007, 15h13
  3. problème de timestamp dans champ MySQL
    Par Torpedox dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 04/12/2005, 09h59
  4. conversion date timestamp vers date mysql
    Par seb0026 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 13/10/2005, 19h48
  5. Timestamp et migration mysql postgresql
    Par romeo9423 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 05/02/2005, 10h11

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