Bonjour,
Peut_on appliquer la fonction timediff() à toutes les valeurs d'un champs time?
C'est à dire en les prenant deux à deux (temps suivant-temps précédent) ainsi de suite jusqu'à la fin.?
Merci.
<?php
////////////////////////////////////////
//********************REQUETE DE CALCUL DE NOMBRE D'ENREGISTREMENTS DANS LA TABLE***************************/
//////////////////////////////////////
include ('connection.php');
$db=mysql_select_db("test");
$sql_cpt= "SELECT COUNT(id) as k FROM mdl_ens1_horaire_copie";
$res_sql_cpt=mysql_query($sql_cpt);
if($res_sql_cpt==FALSE)
{die(mysql_error());
mysql_close();}
$rep_sql_cpt= mysql_fetch_array($res_sql_cpt);
{
mysql_free_result($res_sql_cpt);
$k=$rep_sql_cpt['k'];
echo ' nbr= '.$k.'<br>';
}
////////////////////////////////////////
//********************REQUETE DE RECUPERATION DES COORDONNEES DE LA TABLE ***************************/
///////////////////////////////////////
$sql_sel= "SELECT date,mois,jour,heure,minute FROM mdl_ens1_horaire_copie ";
$res_sql_sel=mysql_query($sql_sel) or die(mysql_error());
// Creation du tableau
$tab=array();
while ($line_sql_sel= mysql_fetch_array($res_sql_sel)) {
$date[]=$line_sql_sel["date"];
$mois[]= $line_sql_sel["mois"];
$jour[]= $line_sql_sel["jour"];
$heure[]= $line_sql_sel["heure"];
$minute[]= $line_sql_sel["minute"];
}
mysql_close();
/////////////////*******EXECUTION DE LA BOUCLE WHILE ET TEST DE LA CONDITION IF***********////////////////////
$i=0;
$j=0;
while ($i++<$k-1)
{
///////////////////*******CALCUL DE NOMBRES DE MINUTES TRAVAILLEES************//////////////////////
{$sous[$i]=(($heure[$i+1]*60)+($minute[$i+1]))-(($heure[$i]*60)+($minute[$i]));
echo $sous[$i].'<br>';
$som[$j]=$som[$j]+$sous[$i];
echo $som[$j].'<br>';
}// Fin de CALCUL DE NOMBRES DE MINUTES TRAVAILLEES
}// Fin de while ($i++<$k-1)
?>
Pouvez vous_m'aider à modifier ce code afin qu'il me calcule le nombre de minutes travaillées pour chaque jour.
Code : Tout sélectionner
A 2015-02-19 12:00:00
B 2015-02-19 13:00:00
C 2015-02-19 15:30:00
D 2015-02-19 20:00:00Tu as la fonction date_diff() en PHP qui est assez proche de TIMEDIFF en MySQLje veux faire cette soustraction pour les enregistrements de ma table Mysql et selon la date , chose que je ne peux pas réaliser avec le code php,
date nbr_minutes
2015-02-01 147
2015-02-02 188
2015-02-03 255
$date = "";
$result = array();
$total = 0;
$valprecedente = 0;
foreach($table as $t){
if($t['date'] != $date){
if($date != ''){
$result[$date] = $total;
}
$date = $t['date'];
$total = 0;
$valprecedente = $t['nb'];
}
else{
$total += ($t['nb'] - $valprecedente);
$valprecedente = $t['nb'];
}
}
print_r($result);