trouver date pour Moyenne N-1 ... !!

Ish
Eléphant du PHP | 200 Messages

27 août 2007, 17:50

Bonjour à tous,

le titre n'est pas très évocateurs car c'est assez difficile à expliquer en deux mots !!

Je suis sur une application où les utilisateurs voudrait avoir une moyenne N-1, c'est à dire la moyenne N-1 d'une période qu'ils ont choisis. Je m'explique.

Ils ont plusieurs champs de saisie dont "Date de début" et "date de fin" pour avoir un intervalle de temps. Il est facile de faire la Moyenne N, car il suffit de calculer la somme des valeurs renvoyées et divisé par le nombre de valeur renvoyées (une moyenne quoi !! :wink: )

Mais il voudrait avoir une moyenne N-1 donc s'ils choisissent "du 01/01/2007" au "30/08/2007" ...
je vais faire la même requête où la date de fin et la date de début de l'ancienne ... et je dois calculer l'intervalle de temps ... ici c'est 8 mois, pour que la date de début soit vers le "01/04/2006" ... et c'est cette date là que je voudrais trouver !!
C'est assez compliqué et je ne vois pas bien comment faire !!!

Merci
La vie est faite d'imprevu, et l'imprevu fait la vie
Gardez la peche !!

ViPHP
ViPHP | 5924 Messages

27 août 2007, 18:21

Euh, je ne sais pas si je suis le seul, mais je n'ai rien compris…
Tu peux expliquer clairement ce que doit faire ta requète ?

VaN
Mammouth du PHP | 1107 Messages

27 août 2007, 18:40

t'as juste a faire quelques calculs mathématiques sur la différence de mois non ? en prenant en compte le fait que tu peux aussi passer à une année antérieure.

donc par exemple si la fourchette est 01/07/06 -> 30/03/07, tu vérifie d'abord si l'année est la meme (avec des explodes de tes dates sur le caractères / , tu mets les 3 mois de 01/03/07 à 30/03/07 dans une variable, puis tu calcule le nombres de mois qu'il restes dans la fourchette, auquel tu ajoute la variable crée avant (celle ou tu as stocké '3'), et voilà.

Enfin si j'ai bien compris ce que tu voulais faire, ça ressemble à ça.

Et si tu connais une date, et l'intervalle, c'est pareil, la deuxieme date se trouve avec des petits calculs, en pensant à vérifier si on passe sur une nouvelle année (genre if($month_year01 + $intervalle > 12) )