+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2011
    Messages : 34
    Points : 8
    Points
    8

    Par défaut Date qui change magiquement de format

    Bonjour

    J'ai récupéré le travail d'un ancien collègue et à un moment je récupère une date via un script PhP dans ma base Oracle.

    Cette date est stockée au format 'DD/MM/YY' dans la base mais au 1er endroit de sa récupération que j'ai pu tracer elle devient 'DD-MON-YY' et ça oblige à tout un bricolage pour la retrouver sous le format initial.

    Je pense que c'est dans le script pHp que "la magie opère" mais où?

    donc en substance on a:

    Code :
    $requete= "select nvl(to_date(maDate,'DD/MM/YYYY'),'') as DATE from MaTable where condition"
    et derrière la requête est gérée comme ça: (il y a des notions et variables n'ayant rien à voir mais je préfère ne pas arbitrairement omettre des trucs qui pourraient manquer)


    Code :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    /* Parse de la requête */
          $ora_stmt = oci_parse($ora_connect, $requete);
          if ( ! $ora_stmt )
          {
            $retour = array('success' => false, 'error' => oci_error($ora_connect), 'msg' => 'Probleme oci_parse');
            echo json_encode($retour);
            oci_close($ora_connect);
            exit;
          }
     
          /* Lancement de la requête */
          if ( ! oci_execute($ora_stmt) )
          {
            $retour = array('success' => false, 'error' => oci_error($ora_stmt), 'msg' => 'Probleme oci_execute');
            echo json_encode($retour);
            oci_close($ora_connect);
            exit;
          }
     
          $nb_fact  = 0;
          if($RecupDeb == 0)
          {
            /* Parse de la requête */
            $ora_stmtCount = oci_parse($ora_connect, $reqCount);
            if ( ! $ora_stmtCount )
            {
              $retour = array('success' => false, 'error' => oci_error($ora_connect), 'msg' => 'Probleme oci_parse');
              echo json_encode($retour);
              oci_close($ora_connect);
              exit;
            }
     
            /* Lancement de la requête */
            if ( ! oci_execute($ora_stmtCount) )
            {
              $retour = array('success' => false, 'error' => oci_error($ora_stmtCount), 'msg' => 'Probleme oci_execute');
              echo json_encode($retour);
              oci_close($ora_connect);
              exit;
            }
     
            //creation de la variable de session
            $count    = (oci_fetch_assoc($ora_stmtCount));
            $nb_fact  = $count["NBTPT"];
            $_SESSION['NbFact'] = $nb_fact;
          }else
          {
            //$count = (oci_fetch_assoc($ora_stmtCount));
            $nb_fact    = $_SESSION['NbFact'];
          }
     
          $ToSave = array();
     
          while ( ($result = oci_fetch_assoc($ora_stmt)))   {   $ToSave[] = $result;    }
    Voilà si vous pouvez m'éclairer vous aurez un gros biiisou

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mars 2009
    Messages : 116
    Points : 163
    Points
    163

    Par défaut

    Je pense que c'est plus un problème avec la syntaxe de la requête.

    Essaye d'utiliser cette fonction dans ta requête

    Code :
    TO_CHAR(maDate,'YYYY-MM-DD HH24:MI:SS')

  3. #3
    Invité régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2011
    Messages : 34
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par Damien51 Voir le message
    Je pense que c'est plus un problème avec la syntaxe de la requête.

    Essaye d'utiliser cette fonction dans ta requête

    Code :
    TO_CHAR(maDate,'YYYY-MM-DD HH24:MI:SS')

    Sûr? Parce que j'ai essayé ce bout de requête dans SQL developer en bidouillant entre to_char, to_date ça me renvoie des trucs "normaux" c'est à dire au mieux format 'DD/MM/YYYY' avec le to_char(madate, 'DD/MM/YYYY'), au pire 'DD/MM/YY' avec le to_date(madate, 'DD/MM/YYYY') (/!\ 'DD/MM/YY' est le format par défaut d'affichage quand je demande juste le champ sans consignes particulières /!\)

    J'ai eu beau retourner la requête dans tous les sens rien n'a jamais retourné 'DD-MON-YY' d'où le soupçon d'un truc dans le PhP qui change le format, ou genre dans l'encodage json que je connais pas du tout

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mars 2009
    Messages : 116
    Points : 163
    Points
    163

    Par défaut

    Non essaye plutôt de modifier ta requête dans ton script PHP mais ensuite je ne suis pas sûr à 100% non plus.

  5. #5
    Invité régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2011
    Messages : 34
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par Damien51 Voir le message
    Non essaye plutôt de modifier ta requête dans ton script PHP mais ensuite je ne suis pas sûr à 100% non plus.
    Bon effectivement en passant au to_char ça a mieux marché... mais je comprends toujours pas d'où sortait ce format.

    Je pense que le script ne comprenant "pas trop" ce que mon instruction voulait , il prenait les infos de mon champ en le mettant à son format date par défaut...

    Aaaah les joies de l'informatique!

    En tout cas avec to_char(madate, 'DD/MM/YYYY') ça fonctionne!^^

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mars 2009
    Messages : 116
    Points : 163
    Points
    163

    Par défaut

    Penses à mettre ton post en résolu

    Et l'importance, tant que ça marche au final

  7. #7
    Invité régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2011
    Messages : 34
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par Damien51 Voir le message
    Penses à mettre ton post en résolu

    Et l'importance, tant que ça marche au final


    ça y est! pas le réflexe

    ouais on va dire ça pour le moment, ne pas aller chercher plus loin tant que ça marche, mais bon aller chercher plus loin parfois ça permet de ne pas du tout avoir à chercher sur d'autre cas! ^^

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •