bonjour,
j'ai fais des calcules , le nombre total de minutes de visites d'un membre selon un cours
voici la petite boucle.
$sql = "SELECT time, userid FROM `mdl_log`
WHERE `url` = 'view.php?id=4137' AND time >1380578400 AND time <1414770639 AND userid IN (3655, 5730, 5731, 5732, 5733, 5734, 5735, 5736, 5737, 5738, 5739, 5730, 5775, 5776, 5777, 5778, 5779, 5780, 5781, 5782, 5783, 5784, 5785, 5786, 5787, 5788, 5789, 5790, 5791, 5792, 5793, 5794 )ORDER BY userid";
echo $sql;
$qb = $bdd->query($sql);
date_default_timezone_set('Europe/Paris');
$totaux = 0;
$time_tete=0;
$last_user ="";
$tb_time = array();//table des temps de chaque membre
$file_time=array();
$total_vue = 0;
$i = 0;
$nb_membre = 0;
$t_prec = 0;
while($data1 = $qb->fetch())
{
if($last_user != $data1['userid']) //nouveau membre calcul
{
if($i !=0) //calcule des total de temps
{
//echo "calcul total"."<br/>";
$minutes = ($total_vue/60);
echo "<h1>". ($total_vue/60)." MINUTES pour ".$mail."</h1>";
echo "<hr>";
$totaux = $minutes + $totaux;
$nb_membre ++;
}
$i=0;
//echo "<h1> $i </h1>";
$tb_time[$i] = $file_time;
$file_time=array();
}else
{
if($t_prec != 0)
{
// echo "<b>$t_prec</b><br/>";
//echo " =>".$data1['time']."<br/>";
$ecart = abs($data1['time'] - $t_prec);
if($ecart <= 72000) //si infÃ(c)rieur à 2 heures on ajoute le temps
{
//echo "<h2>".($ecart/60)."minutes</h2>";
$total_vue = $total_vue +$ecart;
}
}
echo date("d-m-Y H:m:s", $data1['time'])." ====";
// echo $data1['time']." => ".rcp_email($data1['userid'])."<br/>";
$t_prec = $data1['time'];
$mail = rcp_email($data1['userid']);
$i++;
}
//echo "***".$i."***";
$last_user = $data1['userid'];
}
il faut utiliser ceci pour le transformer en j-m-a h:m:s
echo date("d-m-Y H:m:s", $data1['time'])." ====";