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

Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention - 17 déc. 2009 à 13:00 - Dernière réponse : Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention
- 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 ??
Afficher la suite 

8 réponses

Répondre au sujet
kohntark 3708 Messages postés lundi 5 juillet 2004Date d'inscription 27 avril 2012 Dernière intervention - 17 déc. 2009 à 19:33
+3
Utile
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 -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kohntark
Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention - 17 déc. 2009 à 13:03
0
Utile
Je souhaite qu'il s'affiche 312...
Commenter la réponse de Eyeron
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 17 déc. 2009 à 13:25
0
Utile
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.
Commenter la réponse de syndrael
Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention - 17 déc. 2009 à 13:39
0
Utile
J'obtiens ce message

Warning: mysql_fetch_array() expects parameter 1 to be resource

(Bonne digestion !!!! et merci pour ta réponse)
Commenter la réponse de Eyeron
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 17 déc. 2009 à 14:48
0
Utile
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.
Commenter la réponse de syndrael
Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention - 17 déc. 2009 à 18:19
0
Utile
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 !
Commenter la réponse de Eyeron
Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention - 17 déc. 2009 à 19:05
0
Utile
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 ???!!!!!
Commenter la réponse de Eyeron
Eyeron 12 Messages postés vendredi 11 avril 2003Date d'inscription 22 mars 2010 Dernière intervention - 17 déc. 2009 à 20:01
0
Utile
Super ça marche c'est exactement ce que je voulais merci ;)
Commenter la réponse de Eyeron

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.