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

Résolu
canarder Messages postés 2034 Statut Membre -  
canarder Messages postés 2034 Statut Membre -
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

  1. canarder Messages postés 2034 Statut Membre 357
     
    j'arrive à avoir tous les nombres à la suite donc la variable a plusieurs valeurs mais comment toutes les additionner ?
    0
  2. Defouille Messages postés 404 Statut Membre 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
  3. canarder Messages postés 2034 Statut Membre 357
     
    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
  4. canarder Messages postés 2034 Statut Membre 357
     
    comment on récupère la dernière valeur ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. canarder Messages postés 2034 Statut Membre 357
     
    up c'est urgent je dois finir mon script aujourd'hui
    0
  7. Defouille Messages postés 404 Statut Membre 54
     
    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
  8. canarder Messages postés 2034 Statut Membre 357
     
    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
  9. Defouille Messages postés 404 Statut Membre 54
     
    A la fin de la boucle, tu as la variable $total qui est remplis avec ton total.
    0
  10. canarder Messages postés 2034 Statut Membre 357
     
    ok merci c'est bon
    0