[PHP] Additionner les valeurs d'une même var

Résolu/Fermé
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 - Modifié par canarder le 2/09/2010 à 11:34
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 - 2 sept. 2010 à 16:40
Bonjour, j'ai un problème en dom xml.
Voici un exemple de code xml :
<fruit name="pomme" combien="1"></fruit> 
<fruit name="poire" combien="6"></fruit> 
<fruit name="cerise" combien="24"></fruit> 

Je veux récupérer toutes les valeurs de combien et les additionner, je fais comment ?
Pour lire le contenu d'un attribut j'utilise :
$fruit = $dom->getElementsByTagName("fruit"); 
foreach($fruit as $nombre) 
  { 
    if ($nombre->hasAttribute("combien")) { 
    echo "<p>Il y a <b>".$nombre->getAttribute("combien")."</b> fruits.</p>"; 
    } 
  } 


Est-ce que $nombre aura plusieurs valeurs ?
Est-ce que ce code suffit (j'ai pas testé :p) ?

Merci pour vos réponses.




????? canarder ?????
Le Renard qui règne sur le WEB : Firefox

9 réponses

canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
2 sept. 2010 à 11:52
j'arrive à avoir tous les nombres à la suite donc la variable a plusieurs valeurs mais comment toutes les additionner ?
0
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
2 sept. 2010 à 11:54
Bonjour,

$fruit = $dom->getElementsByTagName("fruit"); 
$total = 0 ;
foreach($fruit as $nombre) 
  { 
    if ($nombre->hasAttribute("combien")) { 
        $total += $nombre->getAttribute("combien") ;
    } 
  } 
echo "total : $total";


$nombre prendra comme valeur, tour à tour tout les éléments avec le tagname fruit.
0
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
Modifié par canarder le 2/09/2010 à 12:13
Non ça ne marche pas l'echo se répète
$bank = $dom->getElementsByTagName("item");  
$total = 0 ;  
foreach($bank as $nbrBank)  
  {  
    if ($nbrBank->hasAttribute("count")) {  
    $total += $nbrBank->getAttribute("count") ;  
 echo "Nombre d'objet : ".$total."<br />\n";  
    }  
  }  


EDIT 1 : ah non la dernière valeur est la bonne je pense, comment on l'obtient ? j'ai vu max(); quelque part ...
????? canarder ?????
Le Renard qui règne sur le WEB : Firefox
0
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
2 sept. 2010 à 12:38
comment on récupère la dernière valeur ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
2 sept. 2010 à 13:26
up c'est urgent je dois finir mon script aujourd'hui
0
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
2 sept. 2010 à 14:09
Copie mon code et non ta version, le echo est à l'extérieur de la boucle foreach :

$fruit = $dom->getElementsByTagName("fruit"); 
$total = 0 ;
foreach($fruit as $nombre) 
{ 
    if ($nombre->hasAttribute("combien")) 
    { 
        $total += $nombre->getAttribute("combien") ;
    } 
} 
echo "total : $total";

0
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
2 sept. 2010 à 14:16
mais moi c'est pas ce code là ^^ bon
-- je vais traduire plus tard je peux pas là
๑۩۞۩๑ canarder ๑۩۞۩๑
Le Renard qui règne sur le WEB : Firefox
0
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
2 sept. 2010 à 14:23
A la fin de la boucle, tu as la variable $total qui est remplis avec ton total.
0
canarder Messages postés 1706 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
2 sept. 2010 à 16:40
ok merci c'est bon
0