Eerstvolgende activiteiten op de agenda

Status
Niet open voor verdere reacties.

martijntijn

Nieuwe gebruiker
Lid geworden
6 dec 2006
Berichten
2
Ik heb een Agenda in PHP met een database. De entry`s in de database hebben een datum en een omschrijving.

Nu wil ik een pagina maken met de eerstvolgende 10 activiteiten vanaf vandaag. Er moet dus gekeken worden naar de datum van vandaag en dan de 10 activiteiten weergeven die na vandaag aan de beurt zijn.

Wie kan mij helpen?
 
kan je hier eventueel een nieuwsscript voor gebruiken?
(ik heb hier ook een topic over, dus wil ook graag weten hoe dit werkt)
 
Het wordt lastig om de eerstvolgende activiteit te selecteren als je de datums als normale tekst in de database hebt opgeslagen. Ik weet niet of het nog mogelijk is, maar je kunt beter werken met timestamps, dan kun je veel gemakkelijker een eerstvolgende datum selecteren, of iets anders.

Korte uitleg over timestamps:

PHP:
$timestamp = mktime(17, 25, 30, 12, 24, 2006); // Dit is 24 dec. 2006, 17:25:30

$timestam = mktime(); // Dit is de timestamp van het moment waarop je het script uitvoert.

// Van een timestamp kun je op deze manier weer een normale datum maken:

$datum = date("j-n-Y", $timestamp);

// Of met de tijd erbij:

$datum = date("j-n-Y, H:i:s");
Een timestamp is het aantal seconden na 1-1-1970. Dus hoe groter het getal van de timestamp, hoe verder weg de datum is.

Ik hoop dat je het een beetje begrijpt. Voor meer informatie: http://nl3.php.net/date


Nu het antwoord op je vraag. Als je de datums dus als timestamps hebt opgeslagen in de database kun je op deze manier de eerstvolgende activiteit uit de database halen:

PHP:
$result = mysql_query("SELECT name FROM events WHERE date > '" . mktime() . "' ORDER BY date LIMIT 1");

Succes ermee, als je het niet snapt, vraag het nog maar.

(Het kan zijn dat ik ergens fouten heb gemaakt, want ik heb niets getest wat hier staat.)
 
wat nou als je het gewoon in een datum kolom hebt gezet?
daarbij moet dat uiteindelijk ook omgezet worden van 2006-12-31 naar 31-12-2006
hoe doe je dit?

--------edit
voorbeeld
Code:
<?php
include("config.php");
$query = "SELECT -id, datum, titel FROM activiteiten ORDER BY -datum LIMIT 0, 5";
$resultaat = mysql_query($query) or die ("query mislukt"); 
   while ($obj = mysql_fetch_object($resultaat)){
   $datum = date("j F Y");
   echo "$obj->datum: <A HREF='toonbericht.php?id=$obj->id'>$obj->titel</A><BR>";
   }
?>
ik wil nu dat uiteindelijk de datum niet volledig uitgelezen wordt, maar alleen de maand en dag. en uiteindelijk moet je bijvoorbeeld 31/12: krijgen ipv 2006-12-31

thnx!

------------------------edit pt 2
mijn uiteindelijke poging staat hier.
hoop dat je er wijs uit kan worden
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan