Problème de variable

Problème de variable - PHP - Programmation

Marsh Posté le 18-10-2004 à 16:15:38    

Je ne m'y connais toujours pas en PHP.
 
Voici un pour de code en PHP dans lequel je voudrais obtenir la somme de montant_bourse dans la variable $s.
$annee me donne l'année la plus grande
$détail, je ne sais pas
$x, je ne sais pas.
 
Quelqu'un peux me dire comment mettre la somme dans $s ?  Merci.
 
 <? $c=1;
    $annee = "";
    $detail = "";
    $cur = ora_open($conn) or die(Ora_Error($conn));
    $s=0;
   
    ora_parse($cur,"SELECT max(ANNEES_REMISE) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));  
    ora_exec($cur) or die(Ora_Error($conn));
    ora_fetch_into($cur,&$detail);
    $annee = $detail[0];
    $detail = "";
    ora_parse($cur,"SELECT sum(MONTANT_BOURSE) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));
    ora_fetch_into($cur,$s);
    $cur = ora_open($conn) or die(Ora_Error($conn));
    ora_parse($cur,"SELECT NOM_FAMILLE,PRENOM,DESC_BOURSE,NO_BOURSE,MONTANT_BOURSE,CD_PGM,NOM_PGM,ANNEES_REMISE,cycle_pgm FROM FON_PHP_BOURSES_VUE WHERE ((ANNEES_REMISE='$annee')) ORDER BY DESC_BOURSE,cycle_pgm,nom_famille",$x) or die(Ora_Error($conn));  
    ora_exec($cur) or die(Ora_Error($conn)); ?><br>

Reply

Marsh Posté le 18-10-2004 à 16:15:38   

Reply

Marsh Posté le 18-10-2004 à 20:27:04    

Rien compris...
C'est quoi ça "Ora..." ??

Reply

Marsh Posté le 18-10-2004 à 20:38:17    

ora_parse= analyse la requête
ora_exec= exécute la commande
ora_fetch= retourne le résultat
 
ce sont des commandes oracles je crois
 
Ce code fonctionne.

Reply

Marsh Posté le 18-10-2004 à 20:56:22    

GaSPaRD77 a écrit :

Rien compris...
C'est quoi ça "Ora..." ??


 
Des instructions pour Oracle.
 
Par contre fourniey, comment veux tu qu'on t'aide si tu sais même pas qui fait quoi dans ton code (oups pardon, dans le code de quelqu'un d'autre :D) ?   :ange:

Reply

Marsh Posté le 18-10-2004 à 21:20:25    

Le code est ainsi fait.  Il interroge une vue qui provient de Oracle via PHP et ensuite passe en PHP.
 
Là, je veux ajouter la somme de montant_bourse.

Reply

Marsh Posté le 18-10-2004 à 21:53:32    

fourniey a écrit :

Le code est ainsi fait.  Il interroge une vue qui provient de Oracle via PHP et ensuite passe en PHP.
 
Là, je veux ajouter la somme de montant_bourse.


http://perso.wanadoo.fr/utp/images/La%20boule%20de%20cristal.jpg
 
Tu veux l'ajouter DANS QUOI ?


Message édité par Hermes le Messager le 18-10-2004 à 21:54:26
Reply

Marsh Posté le 18-10-2004 à 22:01:30    

j'avais ajouté ce bout de code mais ça ne fonctionne pas et je ne sais pas comment arriver à mettre la somme dans la variable $s.
 
    ora_parse($cur,"SELECT sum(MONTANT_BOURSE) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));
    ora_fetch_into($cur,$s);

Reply

Marsh Posté le 18-10-2004 à 22:07:19    

Bon, je suis pas un pro dans Oracle, mais tu devrais déjà coller un alias pour récupérer la somme dans $s['nom_alias'] non ?

Reply

Marsh Posté le 18-10-2004 à 22:16:21    

Je ne sais pas, je ne connais pas Oracle ni PHP mais je vais trouver. Je suis persévérant.

Reply

Marsh Posté le 19-10-2004 à 15:13:25    

Je n'ai pas encoire trouvé:
 
  $cur = ora_open($conn) or die(Ora_Error($conn));
    ora_parse($cur,"SELECT montant_bourse FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));
    ora_exec($cur) or die(Ora_Error($conn));
    ora_fetch_into($cur,$s);
echo $s;
 
Le résultat retourné est: array au lieu de la somme.

Reply

Marsh Posté le 19-10-2004 à 15:13:25   

Reply

Marsh Posté le 19-10-2004 à 15:19:40    

il te retourne 'array' paske ta requete doit lui retourner plusieurs enregistrements (donc un tableau -> array).
 
moi pas connaitre oracle, pas pouvoir te dire quoi mettre pour parcourir tes résultat.

Reply

Marsh Posté le 19-10-2004 à 16:01:18    

au lieu de

Code :
  1. echo $s;

met

Code :
  1. print_r($s);


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-10-2004 à 16:03:27    

Xav_ a écrit :

il te retourne 'array' paske ta requete doit lui retourner plusieurs enregistrements (donc un tableau -> array).
 
moi pas connaitre oracle, pas pouvoir te dire quoi mettre pour parcourir tes résultat.


Ca se parcourt comme tous les tableaux php.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-10-2004 à 17:46:26    

La requête retourne uniquement un chiffre.

Reply

Marsh Posté le 19-10-2004 à 17:54:46    

fourniey a écrit :


 
 <? $c=1;
    $annee = "";
    $detail = "";
    $cur = ora_open($conn) or die(Ora_Error($conn));
    $s=0;
   
    ora_parse($cur,"SELECT max(ANNEES_REMISE) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));  
    ora_exec($cur) or die(Ora_Error($conn));
    ora_fetch_into($cur,&$detail);
    $annee = $detail[0];
    $detail = "";
    ora_parse($cur,"SELECT sum(MONTANT_BOURSE) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));
    ora_fetch_into($cur,$s);
    ?>


 
C facile, tu fais comme la requete précédente :
ora_parse($cur,"SELECT sum(MONTANT_BOURSE) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));
ora_fetch_into($cur,$detail);  
$s = $detail[0];

 
Car en fait, comme precedemment, ora_fetch_info te renvoie un tableau, et tu prends la premiere occurence de ce tableau qui est la somme (SUM(MONTANT_BOURSE))
 

Reply

Marsh Posté le 19-10-2004 à 18:00:54    

 $cur = ora_open($conn) or die(Ora_Error($conn));
    ora_parse($cur,"SELECT sum(montant_bourse) FROM FON_PHP_BOURSES_VUE",$x) or die(Ora_Error($conn));
    ora_exec($cur) or die(Ora_Error($conn));
    ora_fetch_into($cur,$s);
print_r($s);
 
Le résultat obtenu est  Array ( [0] => 293600 )  
 
Je vais regarder du côté de la soluation du tableau.

Reply

Marsh Posté le 19-10-2004 à 18:07:14    

fourniey a écrit :

$cur = ora_open($conn) or  
Le résultat obtenu est  Array ( [0] => 293600 )  
 
Je vais regarder du côté de la soluation du tableau.


 
Ben oui, justement, donc la somme c'est $s[0]

Reply

Marsh Posté le 19-10-2004 à 20:44:21    

ça ne fonctionne pas: Cannot use a scalar value as an array in

Reply

Marsh Posté le 20-10-2004 à 11:18:38    

fourniey a écrit :

ça ne fonctionne pas: Cannot use a scalar value as an array in


 
in quoi ?
 
Si le résultat de print_r($s) te donne :
Array  
[0] => xxxxx
 
Alors, le resultat de $s[0] est xxxxx !!

Reply

Marsh Posté le 20-10-2004 à 13:04:45    

in le chemin et le nom de mon fichier.  
 
Le résultat retourné est 0 alors qu'il devrait être de 296 000 $.  Je sais que la requête retourne la bonne réponse pour l'avoir testé ailleurs.

Reply

Sujets relatifs:

Leave a Replay

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