login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Php] Planning/Geschiedenis (Opgelost)

Offline Simax - 21/02/2008 17:42
Avatar van SimaxOnbekend Ben een agenda aan het maken voor een bandje. Nu zou ik graag willen kijken of iets geweest is of nog moet komen. Kan ik dit doen door de datum te vergelijken met de datum van het evenement?

Iemand die een voorbeeldje wilt geven of mij kan helpen?
Alvast bedankt .

10 antwoorden

Gesponsorde links
Offline DMM - 21/02/2008 18:01 (laatste wijziging 21/02/2008 18:01)
Avatar van DMM PHP beginner Bedoel je zoiets?
  1. // datum invullen (bvb. ophalen uit db)
  2. $datum_evenement = "";
  3. $datum_nu = time();
  4. if($datum_nu > $datum_evenement) {
  5. echo "De datum is al voorbij.";
  6. } else {
  7. echo "De datum moet nog komen";
  8. }
Offline Simax - 21/02/2008 18:31 (laatste wijziging 21/02/2008 18:35)
Avatar van Simax Onbekend Is het zo simpel? Ik had verwacht dat er problemen zouden ontstaan met de maand & jaargetallen .

Edit
Hoe kan ik de datum het beste opslaan en uitlezen?
Offline Threetimes - 21/02/2008 18:40
Avatar van Threetimes PHP beginner gewoon als timestanp (doe eens echo time();).
MySQL heeft er aparte datatypes voor, maar ik gebruik meestal gewoon integers.
Offline Simax - 21/02/2008 20:40
Avatar van Simax Onbekend En hoe zou ik datums kunnen uitlezen uit een database?
Offline Threetimes - 21/02/2008 20:47 (laatste wijziging 21/02/2008 20:50)
Avatar van Threetimes PHP beginner sla ze gewoon op als integers, en lees ze uit als integers.

als je er een datum van wilt maken, doe je gewoon:
  1. $tijd = date("r", $jeInteger);

edit: als je alleen tijden wilt vergelijken, heb je dat helemaal niet nodig!
Zo'n timestamp is gewoon het aantal seconden sinds 1-01-1970 0:00, dus gewoon een getal dat per seconde 1 groter word.
Probeer eens dit als simpel voorbeeld:
  1. echo time()."<br>\n";
  2. sleep(1);
  3. echo time()."<br>\n";
  4. sleep(1);
  5. echo time()."<br>\n";
  6. sleep(1);
  7. echo time()."<br>\n";
Offline Simax - 21/02/2008 21:41
Avatar van Simax Onbekend Ik heb dus een database met een tabel 'agenda'. Daarvan wil ik de gegevens uitlezen en sorteren in twee tabellen(html). In de ene wil ik alles wat nog komen moet & in de andere alles wat geweest is.
Offline Threetimes - 21/02/2008 22:33 (laatste wijziging 21/02/2008 22:34)
Avatar van Threetimes PHP beginner
  1. $ene_tabel="<table>\n<caption>Al geweest</caption>\n<thead><th>naam</th><th>datum</th></thead>\n"
  2. $andere_tabel="<table>\n<caption>Nog te gaan</caption>\n<thead><th>naam</th><th>datum</th></thead>\n"
  3.  
  4. $query = "SELECT * FROM agenda SORT BY timestamp DESC";
  5. $result = mysql_query($query);
  6. while ($deze = mysql_fetch_object($result))
  7. {
  8. if ($deze['timestamp'] > time();)
  9. {
  10. $ene_tabel.="<tr><td>."$deze['gebeurtenis']."</td><td>".date("r",$deze['timestamp'])."</td></tr>\n";
  11. }
  12. else
  13. {
  14. $andere_tabel.="<tr><td>."$deze['gebeurtenis']."</td><td>".date("r",$deze['timestamp'])."</td></tr>\n";
  15. }
  16. }
  17. $ene_tabel.="</table>\n";
  18. $andere_tabel.="</table>\n";
  19. echo $ene_tabel.$andere_tabel;
ervanuitgaande dat er een kolom 'gebeurtenis' en 'timestamp' bestaat, waarvan de 2e een getal van rond de 1 miljard is, zou dit moeten werken (niet getest)!
Offline Simax - 21/02/2008 22:51
Avatar van Simax Onbekend Er is een kolom 'id', een kolom 'titel' en een kolom 'datum'.
Offline marten - 22/02/2008 08:36
Avatar van marten Beheerder Damn Spot,

je gaat ook gewoon op je oude 'spam' tour door he. Ga nou eens zelf nadenken hoe je iets op kan lossen voordat je een nieuw topic aanmaakt. Als deze kennis ontbreekt dan ga je hier naar zoeken en dat doe je niet door een topic te openen als heeft iemand een voorbeeldje of kan iemand mij op weg helpen.
Offline Simax - 22/02/2008 10:13
Avatar van Simax Onbekend @marten,
Ik heb gezocht, maar kwam er niet uit .

@Threetimes,
Bedankt voor je hulp.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s