Hallo,

Op dit moment ben ik bezig met een concertagenda aan het maken voor een band. Nu wil ik de 5 komende concerten laten zien op de website. De volgende code gebruik ik:

<?php
include 'config.php';
include 'library/opendb.php';
include 'library/timeFunctions.php';
include 'library/displayFunctionssite.php';

$query = "SELECT * FROM events ORDER BY date , time";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))

{
if ($row['date'] >= date('Y-m-d'))
{
displayEvents($row);
echo "<p>";
}
}

?>

Ik heb achter time een limit geprobeerd te zetten, maar het probleem is dat ie dan de concerten die zijn geweest meetelt. Is er een manier dat het script alleen de 5 komende concerten laat zien?

alvast bedankt!
Query veranderen in:

SELECT * FROM events WHERE date > NOW() ORDER BY date , time LIMIT 5

Enige voorwaarde: date veld moet van type DATE of DATETIME zijn
@Simon,

Je moet ook de query zo maken dat hij selecteerd zoals je het hebben wilt, niet php..

want zoals jij het doet trek je alles richting PHP en gebruik je niks van..

select * from events WHERE date > "01-01-2009" order by date, time LIMIT 10;

en dan krijg je gewoon wat je zoekt :)

Grts..
René
ten eerste moet je eens proberen van date en time één veld te maken, en wel het datetime veld. Dat is speciaal hiervoor gemaakt.
Ik heb zomaar het idee dat je nu een timestamp hebt opgeslagen, maar dan zul je een scriptje maken wat dit omzet.

Daarna kun je simpelweg deze query uitvoeren:

<?php
$query = "SELECT * FROM events WHERE date > NOW() ORDER BY date DESC LIMIT 5";
?>
Bedankt voor de snelle reacties! ik ben echt een beginner, dus ik kan wel wat hulp gebruiken. Ik heb de optie van WillemJan Z geprobeerd en het funcioneert zoals ik het graag zou willen. Bedankt voor de tip!

Reageren