login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Kijken of tijd voorbij is

Offline GroundZero - 13/05/2012 23:39
Avatar van GroundZeroLid Beste,

ik heb twee tabellen die ik ophaal uit mijn database.

1. Wanneer is er gestart (type: datetime)
2. Hoe lang duurt het (type: time)

Nu wil ik met PHP kijken of de tijd van start + duratie al voorbij zijn ja of nee.

Als het voorbij is dan wil ik een knop weergeven (button), anders een bericht dat het nog niet voorbij is.

Kan iemand mij vertellen hoe ik dit kan aanpakken want ik kom er niet uit helaas 

Dus bijvoorbeeld...

$begin_tijd = ...
$eind_tijd = ...
$nu_tijd = ...

En dan kijken van, is die tijd al geweest, zo ja dan ... en anders ...


Groetjes

5 antwoorden

Gesponsorde links
Offline icemar - 13/05/2012 23:49
Avatar van icemar Lid Eerst moeten we duidelijk hebben hoeveel tijd zit er tussen ?
Aan de hand daarvan moet je een cronjob maken die je bv om de 5 min laat draaien die de tijd controleerd en daarna de output aanpast.

Offline GroundZero - 13/05/2012 23:59
Avatar van GroundZero Lid nee geen cronjob nodig, gewoon meteen in het script 

ik hoef alleen te weten of het op het moment dat de pagina geladen word LATER of NIET LATER is dan
de starttijd + duur.

Bijvoorbeeld:

start tijd = 20:00
duur = 5:00

tijd nu = 21:30

als het NU (21:30) later is dan 20:05 dan TRUE anders FALSE.

Dat is wat ik wil, echter heb ik twee verschillende tabellen in de database.
Een van het type datetime, en de ander van het type time.
Offline icemar - 14/05/2012 06:27
Avatar van icemar Lid Dan kan je het met een vergelijking maken in de aanroep van de pagina via een functie als je het netjes wil doen.
Door eerst de tijd op te halen dat het nu is en daarna de tijden uit de database en deze met elkaar vergelijken.
Offline ArieMedia - 14/05/2012 13:06
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Hoi Groundzero, om het te bereiken via tijden zoals 21:00 (dus dit zo opslaat) kan je
PHP.net: strtotime gebruiken.

Zoals omschreven op php.net:
  1. <?php
  2. $tijdNu = time();
  3. $tijdDoel = strtotime('14 Mei 2012 21:30');
  4.  
  5. if($tijdNu > $tijdDoel) {
  6. echo 'Is geweest';
  7. }
  8. ?>


De begintijd heb je niet nodig.
Offline Martijn - 14/05/2012 17:28 (laatste wijziging 15/05/2012 12:01)
Avatar van Martijn Crew PHP Ikzelf geef de voorkeur aan time() als waarde, dus secondes.

  1. $nu = time();
  2. $tienMinutenVerder = time() + 10*60;
  3. // Op het moment van actie sla je de time() ($nu) op
  4. $wachttijd = 3600*24; // 3600 = aantal seconden in een uur, *24 is een dag. Voorbeeldje.
  5.  
  6. if($opgeslagenTijd+$wachttijd > time() ){
  7. echo"Wel voorbij";
  8. }
  9. else{
  10. echo "niet voorbij";
  11. }


Maar iedereen heeft zn eigen voorkeur. Ik vindt het fijn dat ik elke mogelijke tijdvariant erbij of eraf kan halen, dit is erg makkelijk te omzetten naar andere formats bv:

  1. echo date("Y-m-d H:i", $databaseWaarde ); // year-month-day hour:second
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.2s