J'ai trouvé ce fil pendant que je cherchais la même chose. Voici ce que j'ai trouvé qui a bien fonctionné.
J'avais une base de données d'adresses email et d'horodatages unix de quand ils s'abonnaient à une liste d'email. Je voulais voir quel était le taux d'abonnement hebdomadaire.
$startdate = 1325376000; // Jan 1 2012
//$startdate = 1293926400; // Jan 1 2011
$currentstart = $startdate;
$currentend = $startdate + 604800; // 604800 = 1 week
while($currentend < 1356998400) {
$sql = "SELECT * FROM the_table WHERE unixdate > $currentstart AND unixdate <= " . ($currentstart + 604800 - 1);
$result = mysql_query($sql);
echo date('D Y-m-d', ($currentstart)) . " - " . date('D Y-m-d', ($currentstart + 604800 - 1)) . ": <strong>" . mysql_num_rows($result) . "</strong><br />";
$currentstart = $currentend;
$currentend += 604800;
}
Vous pouvez modifier le nombre 604800 pour effectuer des intervalles de 30 jours ou 365 jours ou tous les jours ou autre.
Je suis sûr que ce n'est pas joli - je ne suis pas le meilleur codeur - mais j'ai dû laisser ma solution pour ceux qui me suivent.
wow - c'est génial. Malheureusement, mon script doit supporter les versions inférieures de PHP: / –