login  Naam:   Wachtwoord: 
Registreer je!
 Forum

tijden optellen

Offline Stefan14 - 26/02/2006 20:09 (laatste wijziging 26/02/2006 20:09)
Avatar van Stefan14PHP gevorderde ik heb een tabel waarin begintijden en eindtijden staan, en ik wil de verschillen daartussen optellen om tot een totaaltijd te komen. ik heb ondertussen ontdekt dat ik met TIMEDIFF het verschil kan bepalen. alleen het optellen lukt me nu nog niet.

dit is de code:

  1. <?php
  2. $query4 = "SELECT activiteit, tijd_begin, tijd_eind, DATE_FORMAT(datum, '%d-%m-%Y') AS datum, TIMEDIFF(tijd_begin, tijd_eind) AS tijdverschil FROM logboek WHERE projectID=".$projectID;
  3. $result4 = mysql_query($query4);
  4.  
  5. while($row4 = mysql_fetch_array($result4))
  6. {
  7.  
  8. $activiteit = $row4['activiteit'];
  9. $begintijd = $row4['tijd_begin'];
  10. $eindtijd = $row4['tijd_eind'];
  11. $tijdverschil = $row4['tijdverschil'];
  12. $datum = $row4['datum'];
  13. ?>
  14. <tr>
  15. <td width="200" align="left"><?php echo($activiteit); ?></td>
  16. <td width="100" align="left"><?php echo($begintijd); ?></td>
  17. <td width="100" align="left"><?php echo($eindtijd); ?></td>
  18. <td width="100" align="left"><?php echo($datum); ?></td>
  19. </tr>
  20. <?php
  21. $totaaltijd += $tijdverschil;
  22. }
  23. ?>
  24. <tr>
  25. <td>&nbsp;</td>
  26. <td><?php echo($totaaltijd); ?></td>
  27. <td>&nbsp;</td>
  28. <td>&nbsp;</td>
  29. </tr>
  30. </table>


als ik de += weghaal en vervang door =, dan werkt het wel, maar dan alleen voor de laatste tijd uit de tabel.
dus mijn vraag is hoe ik die tijden nu optel.

2 antwoorden

Gesponsorde links
Offline timo - 26/02/2006 20:21
Avatar van timo PHP ver gevorderde de tijd uit db word met een : gescheiden... je moet het exploden en dan voor elke min die eruit komt dat van de minute aftrekken etc.... heb k oowk wel es als prob gehad... geen oplossing gevonden
Offline Stefan14 - 26/02/2006 20:23 (laatste wijziging 26/02/2006 20:30)
Avatar van Stefan14 PHP gevorderde mmh, er moet toch een functie voor zijn lijkt mij, anders heb je in principe niet zoveel aan die timediff, maar ik ga jouw oplossing proberen timo.

EDIT: ik heb nu de volgende functie geschreven.

  1. <?php
  2. $array = explode(":", $tijdverschil);
  3. $uur = $array[0];
  4. $minuut = $array[1];
  5. $seconde = $array[2];
  6.  
  7. $uren += $uur;
  8. $minuten += $minuut;
  9. $seconden += $seconde;
  10.  
  11. $totaaltijd = $uren.':'.$minuten.':'.$seconden;
  12. ?>


het werkt nu prima.

misschien hebben andere mensen nog wat aan deze functie.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.206s