Ik wil ervoor zorgen dat als het vrijdag of zaterdag is de gegevens van maandag worden opgehaald. Op alle andere dagen moet die van de volgende dag worden opgehaald. Nu wil het onderstaande niet werken. Als ik de query weergeef dan neemt hij altijd de eerste if dus altijd CURDATE() + INTERVAL 3 DAY

Kan iemand me helpen de fout te vinden?
Thx!

<?php
$x = date( "w" );

if ($x = 5) {
$query="SELECT * FROM agenda WHERE DATE(datum) = CURDATE() + INTERVAL 3 DAY
GROUP by datum,opdracht,vak,opgave,opdracht
";
} elseif ($x = 6) {
$query="SELECT * FROM agenda WHERE DATE(datum) = CURDATE() + INTERVAL 2 DAY
GROUP by datum,opdracht,vak,opgave,opdracht
";
} else {
$query="SELECT * FROM agenda WHERE DATE(datum) = CURDATE() + INTERVAL 1 DAY
GROUP by datum,opdracht,vak,opgave,opdracht
";
}
?>
== != =

= betekend toekennen
== is een vergelijking


jij zegt $x = 5, php denkt ok dan is $x 5... dus altijd de 1e

gebruik dus == , daarmee zeg je: is $x gelijk aan 5?
De hele if-else in de php-code heb je niet nodig, gebruik de datumfuncties van MySQL i.c.m. met een CASE. Dan bepaalt de database welke dag je gaat ophalen:
<?php
$query = "
SELECT
*
FROM
agenda
WHERE
DATE(datum) =
CASE
WHEN DAYOFWEEK(CURDATE()) = 6 THEN DATE_ADD(CURDATE(), INTERVAL 3 DAY)
WHEN DAYOFWEEK(CURDATE()) = 7 THEN DATE_ADD(CURDATE(), INTERVAL 2 DAY)
ELSE DATE_ADD(CURDATE(), INTERVAL 1 DAY)
END
GROUP BY
datum,
opdracht,
vak,
opgave,
opdracht
";
?>
Niet getest, maar in grote lijnen klopt het wel. Wanneer END een probleem oplevert, gebruik dan END CASE.

Zie ook http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html

Edit: DATE_ADD aangepast, query is nu goed.
@ Frank, heb eens snel getest maar bleek foutje in te zitten. Toch bedankt voor de reactie.

@ wes je hebt gelijk, weer een domme fout!

Bedankt voor de snelle reacties!
Wat voor foutje en hoe heb je deze opgelost? Nu heeft niemand anders wat aan dit topic, wees dus zo vriendelijk om de nieuwe (goede) query hier even neer te zetten.

Hartelijk dank!

Edit: Zie de aangepaste query. Had de originele query gekopieerd, deze was echter niet goed. Je had de functie DATE_ADD() niet goed opgesteld. Query werkt nu goed.

Reageren