Problème de variable - PHP - Programmation
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.
Marsh Posté le 18-10-2004 à 20:56:22
GaSPaRD77 a écrit : Rien compris... |
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 ) ?
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.
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. |
Tu veux l'ajouter DANS QUOI ?
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);
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 ?
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.
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.
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.
Marsh Posté le 19-10-2004 à 16:01:18
au lieu de
Code :
|
met
Code :
|
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). |
Ca se parcourt comme tous les tableaux php.
Marsh Posté le 19-10-2004 à 17:54:46
fourniey a écrit : |
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))
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.
Marsh Posté le 19-10-2004 à 18:07:14
fourniey a écrit : $cur = ora_open($conn) or |
Ben oui, justement, donc la somme c'est $s[0]
Marsh Posté le 19-10-2004 à 20:44:21
ça ne fonctionne pas: Cannot use a scalar value as an array in
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 !!
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.
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>