Somme de chiffres sur 7 jours consécutifs

Fermé
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 - 19 avril 2015 à 14:43
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 19 avril 2015 à 18:39
Bonjour à vous!

Je travaille sur un site internet en php et je possède une base de données MySQL. Voici la situation: j'ai une table de données qui se nomme manches_lanceurs avec 3 colonnes: id, date et manches. Je souhaiterais développer un code php qui me permet de vérifier si la somme de la colonne manche est plus grande ou égale à 6 lors de 7 jours consécutifs ou moins.

Voici un exemple:

Date Manches
2015-01-01 3
2015-01-05 2
2015-01-08 3
2015-01-09 4
2015-01-19 1

Dans cet exemple, si j'exécutais mon code php, on me retournerait un cas où cela est vrai, soit du 2015-01-05 au 2015-01-09 (sur 5 jours consécutifs, la somme des manches est égale à 9).

Est-ce quelque chose de bien compliquer à développer? Je ne sais juste pas comment trop m'y prendre pour faire la requête, ni pour faire exactement ce que je désire. Merci d'avance !
A voir également:

2 réponses

luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
Modifié par luckydu43 le 19/04/2015 à 15:19
Bonjour !

La requête SQL pour compter les valeurs est :
SELECT manches
FROM manches_lanceurs
WHERE date > 2015-01-01 (à vérifier pour le format).

Dans ton code PHP, il te reste à faire une boucle type :
/* Ligne où tu remplis le tableau manches via la BDD. Je ne connais pas l'équivalent Java/PHP */
int[] manches = requete(....) 
int compteur = 0;
for (int i = 0 ; i < manches.length() ; i++ ) {
      compteur = compteur + manches[i];
}
boolean verifManches = false;
if (compteur >= 6) {
    verifManches = true;
}

return verifManches;

Je ne peux donner que l'équivalent Java ;-)

Bonne continuation !
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques arrivent...
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
19 avril 2015 à 18:39
Bonjour,

Pas sûr de bien avoir compris ce que tu voulais ... mais à tout hasard.. testes ceci :

SI le but est de connaitre la "somme" des manches sur les 7 derniers jours.. tu peux utiliser :
SELECT sum(coalesce(Manches,0)) as total
FROM manches_lanceurs
where Date<= NOW()
and Date>= Date_add(Now(),interval - 7 day)
group by Date
;



Sinon la solution de Lucky semble correspondre à tes besoins.
0