Additionner 2 valeurs d'une base mysql

Résolu
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010
- 17 déc. 2009 à 13:00
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010
- 17 déc. 2009 à 20:01
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

kohntark
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
17 déc. 2009 à 19:33
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 -
3
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

17 déc. 2009 à 13:03
Je souhaite qu'il s'affiche 312...
0
syndrael
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
17 déc. 2009 à 13:25
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.
0
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

17 déc. 2009 à 13:39
J'obtiens ce message

Warning: mysql_fetch_array() expects parameter 1 to be resource

(Bonne digestion !!!! et merci pour ta réponse)
0

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

Posez votre question
syndrael
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
17 déc. 2009 à 14:48
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.
0
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

17 déc. 2009 à 18:19
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 !
0
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

17 déc. 2009 à 19:05
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 ???!!!!!
0
Eyeron
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

17 déc. 2009 à 20:01
Super ça marche c'est exactement ce que je voulais merci ;)
0