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 change magiquement de format [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Points : 43
    Points
    43
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $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 : 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
    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 habitué
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    TO_CHAR(maDate,'YYYY-MM-DD HH24:MI:SS')
    Si on n'ose pas poser des questions bêtes, on le restera.


    Une recherche Google résoudra bien 60% de vos problèmes.

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Points : 43
    Points
    43
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 habitué
    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.
    Si on n'ose pas poser des questions bêtes, on le restera.


    Une recherche Google résoudra bien 60% de vos problèmes.

  5. #5
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Points : 43
    Points
    43
    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 habitué
    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
    Si on n'ose pas poser des questions bêtes, on le restera.


    Une recherche Google résoudra bien 60% de vos problèmes.

  7. #7
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Points : 43
    Points
    43
    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.

Discussions similaires

  1. [FAQ] Comment vérifier si un champ qui contient la date et l'heure au format
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 28
    Dernier message: 21/02/2013, 17h15
  2. Date qui s'affiche au format (00:00:00 CET 2011)
    Par Aymanus dans le forum JSF
    Réponses: 8
    Dernier message: 21/11/2011, 11h42
  3. [Débutant] Matlab qui "change mes valeurs", problème de format?
    Par sylvain62 dans le forum MATLAB
    Réponses: 9
    Dernier message: 29/01/2010, 11h55
  4. [AC-2003] Date qui change à partir d'une requete d'ajout
    Par Soulq dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/07/2009, 10h21
  5. Réponses: 3
    Dernier message: 22/07/2002, 14h19

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