Additionner 2 valeurs d'une base mysql [Résolu]

Signaler
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010
-
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010
-
Bonjour,
Ma table:

Nom Date Score
Gerard 15/12/2009 159
Gerard 14/12/2006 153
Robert 15/12/2009 185
Gerard 13/12/2004 105
Robert 18/11/2001 85

Je voudrais additionner les valeurs pour les deux dernières entrées de Gérard.

Ce code ne fonctionne pas:

<?php
mysql_connect("localhost","root","");
mysql_select_db("participants") or die('Impossible de sélectionner une base
de donnée.');
$gerard=mysql_query("SELECT SUM(score) FROM scores WHERE nom='Gerard' ORDER BY date DESC LIMIT 0,2 ");
$gerard_1 = mysql_fetch_array($gerard);
echo "$gerard_1[0]";
?>

Quelqu'un peut il m'aider ??

8 réponses

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
Salut,

Pense à indiquer les messages d'erreurs Eyeron !! Sans eux c'est souvent la galère pour déboguer.

SELECT SUM(score) FROM scores 
WHERE score in (select score FROM scores WHERE nom='Gerard' ORDER BY date DESC LIMIT 0,2)

Il n'est pas possible de mettre un LIMIT dans un IN (ça serait trop simple )

J'ai testé, mais brièvement :
SELECT SUM(S) FROM (
SELECT score as S 
FROM scores 
WHERE nom='gerard' 
ORDER BY date DESC
LIMIT 2) AS SR


Ca devrait répondre à ton besoin, sans avoir à retraiter côté PHP.


Cordialement,

Kohntark -
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

Je souhaite qu'il s'affiche 312...
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
Et ça ??
SELECT SUM(score) FROM scores WHERE score in (select score FROM scores WHERE nom='Gerard' ORDER BY date DESC LIMIT 0,2) ??
Je pense pas que ça marche mais je suis en pleine diggestion du repas de noel de ma société.
S.
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

J'obtiens ce message

Warning: mysql_fetch_array() expects parameter 1 to be resource

(Bonne digestion !!!! et merci pour ta réponse)
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
Au lieu de passer par PHP tu ne peux pas lancer ta requete via un client MySQL ? L'erreur que tu as est du PHP, il faut remonter un cran plus haut pour voir le résultat et surtout un éventuel message d'erreur en provenance de MySQL.
S.
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

Non ca ne fonctionne pas non plus :(

sinon on ne peut pas déclarer deux variables et ensuite les additionner ?

J'ai essayé mais je n'y arrive pas !
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

J'ai essayé ça:

[i]<?php
mysql_connect("localhost", "root", "");
mysql_select_db("scores");

$score_gerard1 mysql_query("SELECT score FROM `scores` WHERE `nom` 'Gerard' ORDER BY ID DESC LIMIT 0,1");
$score_gerard2 mysql_query("SELECT score FROM `scores` WHERE `nom` 'Gerard' ORDER BY ID DESC LIMIT 1,1");

function additionner($x, $y)
{
return $x + $y;
}

echo additionner ($score_gerard1, $score_gerard2);

?>/i

Il me renvoie 9 ???!!!!!
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

Super ça marche c'est exactement ce que je voulais merci ;)