Calcul sur des valeurs array
le 17/02/2005 à 13:23
FSys
Bonjour
je suis confronté à un probleme qui me donne du fil à retordre
je recupere mes données en xml, et à la base je les affiche sous la forme d'un tableau. là aucun probleme...
mais à present, je ne souhaite que selectionner un des attributs du flux et faire la somme de tous ces meme attributs identiques....
je suis perdu, si qqun à une idee....
en fait j'aimerai bien faire en sorte d'additionner tt les valeurs "valeur" entre elle et afficher le résultat
wall par ici : http://www.lephpfacile.com/wall/wall.php?id=2026
merci d'avance
Fredo
Comme cela non ?
Un simple compteur devrait suffire.
<?php
function display_stats($xml) {
global $url_base;
$i = 0;
foreach($xml->obj_data->stats[0]->Tickets[0]->Ticket as $categorie) {
$i = $i + $categorie->valeur[0];
}
echo $i;
}
?>
Ou alors, j'ai mal compris ton problème :/
oui, ou bien, tu peux faire, sur ton modèle:
<?php
// fonction qui va afficher les stats
function display_stats($xml)
{
global $url_base;
foreach($xml->obj_data->stats[0]->Tickets[0]->Ticket as $categorie)
{
print('<tr><td>'. $categorie->valeur[0] .'</td></tr>');
$total += $categorie->valeur[0];
}
print('<tr><td>'.$total.'</td></tr>');
}
?>
Comme ca, tu affiche une colonne avec toute les valeurs, et enfin tout en bas, le total :)
T'applique un style ou classe a ton <td> du total pour le différencier, et t'auras un super beau tableau :)
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
le 17/02/2005 à 13:52
bibi
keitarosan, utiliser des print, c'est mal :)
commit suicide
je sais, mais je garde l'esprit de son code :p
car sinon, j'aurais mis
echo ("<tr><td>".$value[0]."</td><tr>");
:p
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
le 17/02/2005 à 14:11
bibi
les parentheses, c'est mal
les double quote, c'est mal
commit suicide
les doubles quot, c'est pas mal !!!
je vois pas en quoi c'est mal.
D'ailleur, c'est meme plutot pratique.
De plus, toute fonction php utilise des parenthèse, sauf pour le 'echo' ou ce n'est pas obligatoire.
Mais pourquoi dans ce cas prendre une mauvaise habitude de ne pas en mettre ?? :p
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
le 17/02/2005 à 14:23
FSys
merci pour vos réponses, je vais tester et je vous tiens au jus :)
Fredo
le 17/02/2005 à 14:35
FSys
La premiere solution fonctionne nickel
mais comme je suis super content, vais tester la seconde et vous dire le resultat ;)
Fredo
le 17/02/2005 à 14:40
FSys
idem pour la suivante
merci à vous 2 :)
Fredo