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

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]
$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>";[/code]
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 :(