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

Vue hybride

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

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    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 éprouvé
    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
    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')

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

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    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 éprouvé
    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
    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
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    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 éprouvé
    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
    Par défaut
    Penses à mettre ton post en résolu

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

+ 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