Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/10/2012, 10h08   #1
Towandaa
Invité régulier
 
Femme
Étudiant
Inscription : novembre 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2011
Messages : 27
Points : 7
Points : 7
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
Towandaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 10h44   #2
Damien51
Membre actif
 
Homme Damien
Développeur Web
Inscription : mars 2009
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Damien
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 : 114
Points : 158
Points : 158
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')
Damien51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 11h10   #3
Towandaa
Invité régulier
 
Femme
Étudiant
Inscription : novembre 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2011
Messages : 27
Points : 7
Points : 7
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
Towandaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 11h27   #4
Damien51
Membre actif
 
Homme Damien
Développeur Web
Inscription : mars 2009
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Damien
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 : 114
Points : 158
Points : 158
Non essaye plutôt de modifier ta requête dans ton script PHP mais ensuite je ne suis pas sûr à 100% non plus.
Damien51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 11h46   #5
Towandaa
Invité régulier
 
Femme
Étudiant
Inscription : novembre 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2011
Messages : 27
Points : 7
Points : 7
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!^^
Towandaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 11h55   #6
Damien51
Membre actif
 
Homme Damien
Développeur Web
Inscription : mars 2009
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Damien
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 : 114
Points : 158
Points : 158
Penses à mettre ton post en résolu

Et l'importance, tant que ça marche au final
Damien51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 12h36   #7
Towandaa
Invité régulier
 
Femme
Étudiant
Inscription : novembre 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2011
Messages : 27
Points : 7
Points : 7
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! ^^
Towandaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h24.


 
 
 
 
Partenaires

Hébergement Web