login  Naam:   Wachtwoord: 
Registreer je!
 Forum

wedstrijd

Offline roy - 15/03/2005 23:49 (laatste wijziging 04/03/2008 10:31)
Avatar van royPHP gevorderde Hallo,

Ik laat via een While-lus allemaal resultaten in een tabel komen.
Die resultaten zijn tijden.
dus:
  1. 00:00:45
  2. 00:01:04
  3. 00:01:20
  4. etc.


Nu wil ik het tijdsverschil berekenen met de voorganger. Hoe kan ik dat doen?

Dit is het script:
  1. <?PHP
  2. $tabelnaam = "tacx"; //naam van de tabel
  3. $origineelveld = "origineel"; //naam van de velden in je tabel
  4. $uniekveld = "uniek"; //naam van de velden in je tabel
  5. $mimeveld = "mime"; //naam van de velden in je tabel
  6. $i = 1;
  7. $h = 75;
  8. //volgende var is het pad waar alles wordt opgeslagen.
  9. $eindlocatie = $_SERVER['DOC_ROOT']."/var/www/html/Chris/files/tacx/";
  10.  
  11. $query1="SELECT * FROM `tacx` WHERE Round='".$round."' AND Dy='".$Dy."' AND league='league' ORDER BY th,Tm,Ts ASC";
  12. //nu worden de gegevens geselecteerd en ze worden gerangschikd op id dus nieuw komt eerst
  13. $sql1=mysql_query($query1) or die (mysql_error());
  14.  
  15. while ($objj=mysql_fetch_object($sql1)) {
  16. $did = $objj->user;
  17. $Dd = $objj->Dd;
  18. $query2="SELECT * FROM `gebruikers` WHERE id='".$did."'";
  19. //nu worden de gegevens geselecteerd en ze worden gerangschikd op id dus nieuw komt eerst
  20. $sql2=mysql_query($query2) or die (mysql_error());
  21.  
  22. while ($obj=mysql_fetch_object($sql2)) {
  23. $name = $obj->naam;
  24. $country = $obj->country;
  25. ?>
  26. <tr>
  27. <td width="10%"><?php echo $i; ?></td>
  28. <td width="10%"><? echo $Dd; ?>-<? echo $Dm; ?>-<? echo $Dy; ?></td>
  29. <td width="10%"><?PHP echo "$name"; ?></td>
  30. <td width="10%"><p align="center"><img src="<? echo $country ?>" border="0" align="center"></p></td>
  31. <td width="10%"><? echo $Th; ?>:<? echo $Tm; ?>:<? echo $Ts; ?></td>
  32. <td width="10%"><? echo $mph; ?></td>
  33. <td width="10%"><? echo $kph; ?></td>
  34. <td width="10%"><? echo $hcphour; ?>:<? echo $hcpminute; ?>:<? echo $hcpsecond; ?></td>
  35. <td width="10%"><?PHP echo $h; ?></td>
  36. <td width="10%"><? echo $hcppoints; ?></td>
  37. </tr>
  38.  
  39. <?php
  40. $i++;
  41. $h--;//1 tot 5
  42. }
  43. ?>
  44. <?
  45. }
  46. ?>

10 antwoorden

Gesponsorde links
Offline Gml - 30/11/1999 00:00
Avatar van Gml HTML beginner De eerste opvangen in een variabele en de laatste opvangen in een variabele en dan van elkaar aftrekken...
Offline CelestialCelebi - 30/11/1999 00:00
Avatar van CelestialCelebi PHP gevorderde [code]phprn $did = $objj-user; rn $Dd = $objj-Dd; rn $Dm = $objj-Dm; rn $Dy = $objj-Dy; rn $Th = $objj-th; rn $Tm = $objj-Tm; rn $Ts = $objj-Ts;rn $uniek = $objj-uniek;rn $mph = $objj-mph;rn $kph = $objj-kph;rn $hcppoints = $objj-hcppoints;rn $hcphour = $objj-hcphour;rn $hcpminute = $objj-hcpminute;rn $hcpsecond = $objj-hcpsecond;rn [code]rnrnWat een onzin zeg.... Leer eens PHP.
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde Waarom, het werkt en het is veilig..rnrn[b]On topic[b]rnMoet je die eerste variabele opvangen voor de while-lus of in de while-lus
Offline Tuinstoel - 16/03/2005 14:48
Avatar van Tuinstoel PHP expert Deze functie zou een verschil kunnen berekenen.
Niet helemaal goed getest

  1. <?
  2. function bereken($sTijd)
  3. {
  4. /* alleen weergave uu:mm:ss */
  5. $aSplit = explode(":",$sTijd);
  6. $aSeconden = ($aSplit[0] * 3600) + ($aSplit[1] * 60) + $aSplit[2];
  7. return $aSeconden;
  8. }
  9.  
  10. $iVerschil = bereken('01:30:34') - bereken('00:00:45');
  11. echo 'Verschil: '.$iVerschil.' seconden.';
  12. echo date('H:i:s',$iVerschil-3600);
  13. ?>
Offline roy - 16/03/2005 14:57
Avatar van roy PHP gevorderde Bedankt..
Maar die tijden worden opgevraagt en weergeven in de while-lus. Hoe kan je dit intregeren in een while-lus??

En trouwens het verschil met de eerste en die daarvoor moet nul zijn. (want dat is gewoon de snelste)
Offline Tuinstoel - 16/03/2005 15:04
Avatar van Tuinstoel PHP expert De functie bereken boven alles zetten, en dan gewoon wat er onder staat in zetten, probeer eens wat en laat het je niet allemaal voorkauwen.
Offline prorsoft - 16/03/2005 15:12 (laatste wijziging 16/03/2005 15:15)
Avatar van prorsoft PHP gevorderde
  1. <?PHP
  2. function bereken($sTijd)
  3. {
  4. /* alleen weergave uu:mm:ss */
  5. $aSplit = explode(":",$sTijd);
  6. $aSeconden = ($aSplit[0] * 3600) + ($aSplit[1] * 60) + $aSplit[2];
  7. return $aSeconden;
  8. }
  9.  
  10. $tabelnaam = "tacx"; //naam van de tabel
  11. $origineelveld = "origineel"; //naam van de velden in je tabel
  12. $uniekveld = "uniek"; //naam van de velden in je tabel
  13. $mimeveld = "mime"; //naam van de velden in je tabel
  14. $i = 1;
  15. $h = 75;
  16. //volgende var is het pad waar alles wordt opgeslagen.
  17. $eindlocatie = $_SERVER['DOC_ROOT']."/var/www/html/Chris/files/tacx/";
  18.  
  19. $query1="SELECT * FROM `tacx` WHERE Round='".$round."' AND Dy='".$Dy."' AND league='league' ORDER BY th,Tm,Ts ASC";
  20. //nu worden de gegevens geselecteerd en ze worden gerangschikd op id dus nieuw komt eerst
  21. $sql1=mysql_query($query1) or die (mysql_error());
  22.  
  23. while ($objj=mysql_fetch_object($sql1)) {
  24. $did = $objj->user;
  25. $Dd = $objj->Dd;
  26. $query2="SELECT * FROM `gebruikers` WHERE id='".$did."'";
  27. //nu worden de gegevens geselecteerd en ze worden gerangschikd op id dus nieuw komt eerst
  28. $sql2=mysql_query($query2) or die (mysql_error());
  29.  
  30. unset($ouwe);
  31.  
  32. while ($obj=mysql_fetch_object($sql2)) {
  33. $name = $obj->naam;
  34. $country = $obj->country;
  35. ?>
  36. <tr>
  37. <td width="10%"><?php echo $i; ?></td>
  38. <td width="10%"><? echo $Dd; ?>-<? echo $Dm; ?>-<? echo $Dy; ?></td>
  39. <td width="10%"><?PHP echo "$name"; ?></td>
  40. <td width="10%"><p align="center"><img src="<? echo $country ?>" border="0" align="center"></p></td>
  41. <td width="10%"><? echo $Th; ?>:<? echo $Tm; ?>:<? echo $Ts; ?></td>
  42. <td width="10%"><? echo $mph; ?></td>
  43. <td width="10%"><? echo $kph; ?></td>
  44. <td width="10%"><? echo $hcphour; ?>:<? echo $hcpminute; ?>:<? echo $hcpsecond; ?></td>
  45. <td width="10%"><?PHP echo $h; ?></td>
  46. <td width="10%"><? echo $hcppoints; ?></td>
  47. <?php if (isset($ouwe) && !empty($ouwe)) { ?>
  48. <td width="10%">Verschil:&nbsp;<? echo bereken("$hcphour:$hcpminute:$hcpsecond")-bereken($ouwe); ?>&nbsp; seconden.</td>
  49. <?php } ?>
  50. </tr>
  51.  
  52. <?php
  53. $i++;
  54. $h--;//1 tot 5
  55. $ouwe="$hcphour:$hcpminute:$hcpsecond";
  56. }
  57. }
  58. ?>

Zo moetie kloppen.
Offline roy - 17/03/2005 15:44 (laatste wijziging 17/03/2005 15:49)
Avatar van roy PHP gevorderde nee, Dit berekend het verschil met de eerste tijd.

Maar ik wil het verschil weten van de voorgaande tijd.

dus als je 30 tijden hebt, dan wil ik het verschil tussen:
2 & 1 ; 3 & 2 ; 4 & 3 ; 5 & 4 ; 6 & 5 ; enz...

dus van het getal dat ik nu heb, moet de eerst (snelste tijd) van af
Hoe doe ik dat?
Offline prorsoft - 17/03/2005 15:51 (laatste wijziging 17/03/2005 15:52)
Avatar van prorsoft PHP gevorderde Nee, het script dat ik heb geschreven berekent het verschil met de vorige:!::!:
Nieuwe bril nodig???
Offline roy - 17/03/2005 15:54 (laatste wijziging 17/03/2005 16:05)
Avatar van roy PHP gevorderde Kijk eens: http://www.klik...mp;Dy=2005

dan de kolom 'time difference' Bij de eerste moet het verschil 0 nul zijn bij die tweede 25 seconden, enz..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s