Avatar billede haolan Nybegynder
26. august 2008 - 22:26 Der er 4 kommentarer og
1 løsning

Ingen overlappene datetimes

Hej

Jeg har en tabel der indeholder to datoer:

`datetime_from` og `datetime_to`

Jeg vil nu lave et check på inden jeg opretter en ny række i databasen om den valgte tid overlapper en eksisterede tid i databasen.

Man må ikke kunne overlappe disse tider på nogen som helst måde, da der er tale om bookninger af nogle ting.

Hvordan laver jeg min SQL streng når jeg skal tjekke på om sådan en overlapning finder sted?
Avatar billede jakobdo Ekspert
26. august 2008 - 22:41 #1
Det må blive noget ala:

$query = mysql_query("SELECT `id`,`kunde`,`bygning`,`start_dato`,`slut_dato` FROM `booking`
    WHERE
        (('$start_dato' < `start_dato` AND '$slut_dato' > `start_dato`)
    OR
        ('$start_dato' <= `start_dato` AND '$slut_dato' >= `slut_dato`)
    OR
        ('$start_dato' >= `start_dato` AND '$slut_dato' <= `slut_dato`)
    OR
        ('$start_dato' < `slut_dato` AND '$slut_dato' > `slut_dato`))
") or die(mysql_error());
Avatar billede haolan Nybegynder
26. august 2008 - 22:54 #2
ahh nice :)

det giver vidst god mening..

takker for hjælpen :)
Avatar billede haolan Nybegynder
26. august 2008 - 22:54 #3
smid svar for points
Avatar billede jakobdo Ekspert
26. august 2008 - 23:02 #4
Svar!
Avatar billede jakobdo Ekspert
27. august 2008 - 08:11 #5
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester