[RESOLU] Faire un total des heures

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Faire un total des heures

Re: Faire un total des heures

par N0ceb0 » 09 juin 2018, 01:19

C'est parfait merci à toi =D>

Re: Faire un total des heures

par or 1 » 08 juin 2018, 23:47

un truc du genre :
$sql = mysqli_query($bdd,"SELECT * FROM Travail ORDER BY date ");
$nbreElements = 5; // tous les 5 éléments 
$compteur = 0; // initialisation du compteur 

   $total_5 = 0; 
   while ($donnees = mysqli_fetch_assoc($sql)) {
    $data[] = $donnees['total_journee'];
    list($heures, $minutes, $secondes) = explode(':', $donnees['total_journee']);
    $total_5 += $heures * 3600 + $minutes * 60 + $secondes;
    $compteur++; // on incrémente le compteur    
    if($compteur % $nbreElements == 0){    
      echo floor($total_5 / 3600) . ':'  . ($total_5 /60) % 60 . ':' . $total_5 % 60;
      $total_5 = 0; 
    }  
  }
  echo floor($total_5 / 3600) . ':'  . ($total_5 /60) % 60 . ':' . $total_5 % 60;

Faire un total des heures

par N0ceb0 » 08 juin 2018, 23:24

Bonjour à tous,

Voilà à quoi sert mon code:
Je récupère l'heure d'arrivée, de midi et de départ, je fais un cumule des heures de journée jusque là tout fonctionne parfaitement.
Je voudrais récupérer les 5 valeurs totales et les additionner pour avoir le total sur 5 jours.
Mon code fonctionne à moitié, puisque les 5 premiers jours sont parfaitement calculé (38H), mais ensuite au lieu de prendre les 5 suivantes il cumule (72H).
Ma base de donnée

Mon code :

Code : Tout sélectionner

$sql = mysqli_query($bdd,"SELECT * FROM Travail ORDER BY date "); $nbreElements = 5; // tous les 5 éléments $compteur = 0; // initialisation du compteur $total = 0; echo "<div class=\"compact\"><div class=\"contenu\"><div class=\"titre\">Semaine ss</div>"; echo "<table>"; echo "<tr>"; echo "<th>Date</th>"; echo "<th>Arrivée</th>"; echo "<th>pause</th>"; echo "<th>Départ</th>"; echo "<th>Total journée</th>"; echo "<th>Options</th>"; echo "</tr>"; $counter = 0; while ($donnees = mysqli_fetch_assoc($sql)) { $data[] = $donnees['total_journee']; // $total = 0; echo '<form method="post" id="semi" action="index.php?id='.$donnees['id'].'" enctype="multipart/form-data">'; echo '<input type="hidden" name="id" value="'.$donnees['id'].'">'; echo "<tr>"; echo "<td>".$donnees['Date']."</td>"; echo "<td>"; $counter = $counter + 1; // ARRIVE echo '<input id="moninput'.$counter.'" name="Matin" type="time" onKeyUp="afficher_span(event, this.value, '.$counter.');" value="'.$donnees['Matin'].'" style="display:none;"/>'; echo "<span id=\"monspan".$counter."\" onclick=\"afficher_input(this, '".$counter."')\">".$donnees['Matin']."</span></td>"; // PAUDE echo "<td>"; echo '<input id="moninput1'.$counter.'" type="time" name="Midi" onKeyUp="afficher_span1(event, this.value, '.$counter.');" value="'.$donnees['Midi'].'" style="display:none;"/>'; echo "<span id=\"monspan1".$counter."\" onclick=\"afficher_input1(this, '".$counter."')\">".$donnees['Midi']."</span></td>"; // DEPART echo "<td>"; echo '<input id="moninput2'.$counter.'" type="time" name="Soir" onKeyUp="afficher_span2(event, this.value, '.$counter.');" value="'.$donnees['Soir'].'" style="display:none;"/>'; echo "<span id=\"monspan2".$counter."\" onclick=\"afficher_input2(this, '".$counter."')\">".$donnees['Soir']."</span></td>"; // TOTAL echo "<td>"; echo '<input type="text" id="moninput3'.$counter.'" name="total_journee" onKeyUp="afficher_span3(event, this.value, '.$counter.');" value="'.$donnees['total_journee'].'" style="display:none;"/>'; echo "<span id=\"monspan3".$counter."\" onclick=\"afficher_input3(this, '".$counter."')\">".$donnees['total_journee']."</span></td>"; echo '<td><input type="submit" id="submit" name="submit_modif" value="Enregistrer" /></td>'; echo "</tr>"; // $total_5 = $total_5 + $donnees['total_journee']; $test = $donnees['total_journee']; // echo $test."<br />"; $compteur++; // on incrémente le compteur if($compteur % $nbreElements == 0){ echo "</table>"; foreach ($data as $time) { list($heures, $minutes, $secondes) = explode(':', $time); $total += $heures * 3600 + $minutes * 60 + $secondes; } echo floor($total / 3600) . ':' . ($total /60) % 60 . ':' . $total % 60; $total++; echo '</div></div> <div class="compact"><div class="contenu"><div class="titre">Semaine</div>'; echo "<table>"; echo "<tr>"; echo "<th>Date</th>"; echo "<th>Arrivée</th>"; echo "<th>pause</th>"; echo "<th>Départ</th>"; echo "<th>Total journée</th>"; echo "<th>Options</th>"; echo "</tr>"; } echo "</form>"; } echo "</table>"; $total = 0; foreach ($data as $time) { list($heures, $minutes, $secondes) = explode(':', $time); $total += $heures * 3600 + $minutes * 60 + $secondes; } echo floor($total / 3600) . ':' . ($total /60) % 60 . ':' . $total % 60; echo "</div></div>";
Je sais que mon code n'est pas propre niveau injection etc.., je corrige dés que j'ai fini de le mettre en place complètement
Merci d'avance pour votre aide :(