php et date Oracle[résolu]

php et date Oracle[résolu] - PHP - Programmation

Marsh Posté le 22-08-2003 à 16:25:19    

bonjour, j'interroge une db oracle qui contient des champs DATE.
avec un ora_getcolumn($cursor,$i), je n'obtient que 22-AUG-2003 mais pas les heures-minutes-secondes, alors qu'avec un client de test oracle, j'ai 2003-08-22 14:11:35.
Quelqu'un sait pourquoi ??


Message édité par deff le 25-08-2003 à 14:02:38

---------------
-->>C'est l'histoire d'un gars qui rêve qu'il mange de la guimauve.Il se réveille et il a plus d'oreiller.<<--
Reply

Marsh Posté le 22-08-2003 à 16:25:19   

Reply

Marsh Posté le 22-08-2003 à 16:26:42    

a mon avis, voir plutôt syntaxe sql et format de date  :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 22-08-2003 à 16:29:12    

Ouais Php et Oracle c pas le top.
 
J'ai mis plus de 2jours pour configurer correctement monb php avec oracle.
Et j avais des soucis au niveau des formats de date.
Il a fallu que dans mon apache je configure les variables d'environemment car php etant lance avant apache, celui ci ne prenait pas en compte toutes les variables et donc de gros soucis.
(alter session par exemple ne fonctionnait pas)

Reply

Marsh Posté le 22-08-2003 à 16:31:29    

Sébastien a écrit :

Il a fallu que dans mon apache je configure les variables d'environemment...


 
Faut il que je regarde du côté des variables d'environement??


---------------
-->>C'est l'histoire d'un gars qui rêve qu'il mange de la guimauve.Il se réveille et il a plus d'oreiller.<<--
Reply

Marsh Posté le 22-08-2003 à 16:41:11    

utilise les fonction oci plutot que ora.
 
t auras de meilleur resultats.
 
 
$sql = "select ....
$stmt = OCIParse($conn,$sql);
OCIExecute ($stmt);
while(OCIFetchInto($stmt,$data))
{
  echo $data[0];
}
 
et tu recupereras la date comme une date mysql.
par contre verifie la syntaxe des fonctions, ca fait longtemps que je les ai po utiliser. (www.php.net)


Message édité par docwario le 22-08-2003 à 16:42:23
Reply

Marsh Posté le 22-08-2003 à 16:41:31    

ben chez moi c'est ce que j avais
du genre en sql+
le format de date : 2003-08-01
sous php 01-08-03

Reply

Marsh Posté le 22-08-2003 à 16:44:17    

sebastien la diference que t avais venait bien de la configuration des serveurs, mais rien a voir avec le fait de recuperer la date sans l heure....

Reply

Marsh Posté le 22-08-2003 à 16:47:58    

Je pense aussi, mais on c jamais, je lui donne donc une piste qui paraitrait au debut moins evidente.
 
Pour mon cas, je me suis apercu que ca provenait la quand le resultat du navigateur et du php en ligne de commande etait different, ca pouvait pas sauter aux yeux comme ca ^^

Reply

Marsh Posté le 22-08-2003 à 16:48:43    

DocWario a écrit :

utilise les fonction oci plutot que ora.
 
t auras de meilleur resultats.
 
 
$sql = "select ....
$stmt = OCIParse($conn,$sql);
OCIExecute ($stmt);
while(OCIFetchInto($stmt,$data))
{
  echo $data[0];
}
 
et tu recupereras la date comme une date mysql.
par contre verifie la syntaxe des fonctions, ca fait longtemps que je les ai po utiliser. (www.php.net)


 
désolé mais malheureusement cela donne le même résultat :(
 
voila le code :

Code :
  1. while(ocifetchinto($cursor,$data)){
  2.            echo "<TR>\n";
  3.            echo "<TD VALIGN=TOP ALIGN=LEFT><B>".$data[0]."</B></TD>\n";
  4.            for ($i=2;$i<=$w_numcols;$i++) {
  5.                   if (ociresult($cursor,$i)>0){
  6.                     echo "<TD VALIGN=TOP ALIGN=LEFT><font color='#FF0000'>".$data[$i]."</font></TD>\n";
  7.                     }
  8.                   else {
  9.                     echo "<TD VALIGN=TOP ALIGN=LEFT>".$data[$i]."</TD>\n";
  10.                     } 
  11.            }
  12.            $numrows++;
  13.            echo "</TR>\n";
  14.         }


Message édité par deff le 22-08-2003 à 16:50:37

---------------
-->>C'est l'histoire d'un gars qui rêve qu'il mange de la guimauve.Il se réveille et il a plus d'oreiller.<<--
Reply

Marsh Posté le 22-08-2003 à 16:51:45    

ça a l'air d'être un timestamp oracle....si ça peut aidé ??!!


---------------
-->>C'est l'histoire d'un gars qui rêve qu'il mange de la guimauve.Il se réveille et il a plus d'oreiller.<<--
Reply

Marsh Posté le 22-08-2003 à 16:51:45   

Reply

Marsh Posté le 25-08-2003 à 14:02:19    

La solution : changer la requete SQL  

Code :
  1. TO_CHAR(CHAMPSDATE,'YYYY-MM-DD HH24:MI:SS')

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed