date($format,$now),'v'=>0); } do { $data[$r['d']] = array('visites'=>$r['v'],'moyenne'=>moyenne_glissante($r['v'], $glisse)); $last = $r['d']; // donnee suivante $r = sql_fetch($res,$serveur); // si la derniere n'est pas la date courante, l'ajouter if (!$r AND $last!=date($format,$now)) $r = array('d'=>date($format,$now),'v'=>0); // completer les trous manquants si besoin if ($r){ $next = strtotime($last); $current = strtotime($r['d']); while (($next+=$step)<$current AND $d=date($format,$next)){ if (!isset($data[$d])) $data[$d] = array('visites'=>0,'moyenne'=>moyenne_glissante(0, $glisse)); $last = $d; $next = strtotime($last); } } } while ($r); // projection pour la derniere barre : // mesure courante // + moyenne au pro rata du temps qui reste $moyenne = end($data); $moyenne = prev($data); $moyenne = ($moyenne AND isset($moyenne['moyenne']))?$moyenne['moyenne']:0; $data[$last]['moyenne'] = $moyenne; // temps restant $remaining = strtotime(date($format,strtotime(date($format,$now))+$step))-$now; $prorata = $remaining/$periode; // projection $data[$last]['prevision'] = $data[$last]['visites'] + intval(round($moyenne*$prorata)); return $data; } ?>