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 :

Date qui ne s'enregistre pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Date qui ne s'enregistre pas
    Bonjour.

    Nous venons de changer d'hébergeur et une des tables ne se met pas à jour et pourtant il n'y a que 2 champs : vb_Valeur, vb_Date. Le champ vb_Valeur se met à jour mais pas le champ vb_Date. Voilà le code :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
    // insertion 
    if(isset($_POST['newval']))  $newval=$_POST['newval'];
    else $newval="";
    // définition de la date en fonction du jour et de l'heure de mise à jour
    if(!empty($_POST['newval']))
    {
     $jourc = date("w"); 
     $jour = date("d"); 
     $mois = date("m"); 
     $an = date("Y"); 
     $heure = date("H"); 
     $min = date("i"); 
     $sec = date("s");
    if ($jourc == 0){
        $jour = $jour-2;
        $heure = 17; 
        $min = 30; 
    }
    if ($jourc == 6){
        $jour = $jour-1;
        $heure = 17; 
        $min = 30; 
    }
    if ($heure > 17){ 
       $heure = 17; 
       $min = 30; 
    } 
    if ($heure < 9){
       $heure = 9;
       $min = 0;
    }
     $date= $an."-".$mois."-".$jour. $heure.":".$min.":".$sec; 
     $sql = "TRUNCATE TABLE beavalbourse"; 
     mysql_query($sql) or die(mysql_error());
         $sqla = "INSERT INTO beavalbourse(vb_Valeur, vb_Date) 
     VALUES('$newval','$date')"; 
         mysql_query($sqla) or die('Erreur SQL !'.$sqla.'<br>'.mysql_error()); 
    }
    Je ne comprends pas, ce code fonctionnait chez CI et ça marche chez Free.
    Quand je vais voir ma table chez Free j'ai bien la valeur mais il n'enregistre pas la date

    Donc si quelqu'un peut m'aider, merci d'avance

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    salut,

    j'ai l'impression qu'il te manque un espace dans la ligne ou tu définit ta variable date ... (entre $jour et $heure)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Tu veux dire ma variable doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date= $an."-".$mois."-".$jour." ". $heure.":".$min.":".$sec;
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date= $an."-".$mois."-".$jour. $heure.":".$min.":".$sec;
    Je vais essayer ça mais c'est un bizarre que ça marche chez CI et pas chez Free.
    Il me semble que ça dépend pluôt de MySql que d'une fournisseur

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Points : 113
    Points
    113
    Par défaut
    fais un echo de $date avant de l'insérer pour voir si ça correspond au format datetime

    et d'ailleurs vérifie que le champ est au format datetime dans ta bdd

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

Discussions similaires

  1. Trouver qui lock un enregistrement (pas bloque)
    Par schnourf dans le forum Oracle
    Réponses: 9
    Dernier message: 28/09/2019, 18h49
  2. Réponses: 1
    Dernier message: 10/09/2010, 18h05
  3. [AC-2003] [FORMULAIRES] Champs de textes qui ne s'enregistrent pas
    Par Morgo dans le forum IHM
    Réponses: 4
    Dernier message: 29/04/2010, 17h09
  4. [AC-2007] champ qui ne s'enregistre pas
    Par pepsister dans le forum IHM
    Réponses: 27
    Dernier message: 12/04/2010, 10h26
  5. [MySQL] Date qui ne se met pas à jour
    Par caro93150 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2008, 20h01

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