Select query mellem datoer (simpel kalender)
Goddag eksperter,Jeg har lavet en lille simpel kalender, som jeg gerne vil have til at fungere efter hensigten. Jeg har muligvis opbygget tabellen i databasen dumt op i og med jeg har adskilt dag, måned og år.. Men håber alligevel det kan lade sig gøre at fikse uden de største problemer ;)
Tabelstruktur ser ud som her:
------------------------------------------------
TodoID, Title, Text, DeadlineDay, DeadlineMonth, DeadlineYear
------------------------------------------------
Datoerne man vælger gemmer jeg i følgende sessions:
------------------------------------------------
$_SESSION['todo_aarstalstart'] = clean($_POST['aarstalstart']);
$_SESSION['todo_dagstart'] = clean($_POST['dagstart']);
$_SESSION['todo_maanedstart'] = clean($_POST['maanedstart']);
$_SESSION['todo_dagslut'] = clean($_POST['dagslut']);
$_SESSION['todo_maanedslut'] = clean($_POST['maanedslut']);
$_SESSION['todo_aarstalslut'] = clean($_POST['aarstalslut']);
------------------------------------------------
Men hvordan får jeg gjort således at SQL query'en udvælger korrekt ud fra de valgte datoer? Jeg har prøvet med "between" og følgende query:
<?php
$query = mysql_query("
SELECT * FROM tbl_todo WHERE
DeadlineDay between ".$_SESSION['todo_dagstart']." and ".$_SESSION['todo_dagslut']." and
DeadlineMonth between ".$_SESSION['todo_maanedstart']." and ".$_SESSION['todo_maanedslut']." and
DeadlineYear between ".$_SESSION['todo_aarstalstart']." and ".$_SESSION['todo_aarstalslut']."
ORDER BY DeadlineYear DESC, DeadlineMonth DESC, DeadlineDay DESC
") or die(mysql_error());
?>
Men den virker desværre ikke 100% efter hensigten, hvis man fx vælger fra den 31.01.2010 til den 31.12.2011.. Så får man klart nok ingen outputs medmindre dagen netop er den 31., til trods for at der er et helt år til forskel :/
