Gå til innhold

Problemer med å hente ut kalender-data


Anbefalte innlegg

Har laget et kalender-script hvor man kan legge inn forskjellige "hendelser".

Ved å klikke på de forskjellige dagene kommer det opp hva slags hendelse® som ligger inne den dagen.

 

Problemet er hendelser som går over flere dager.

 

Databasen har feltene start_time og end_time som timestamp.

Om en hendelse er fra 20.06.06 20:00 til 23.06.06 18:00, hvordan kan jeg da få hentet ut den når jeg åpner 21.06.06?

 

Bruker dette query'et nå:

$query = "SELECT tittel, beskrivelse, start_time, end_time FROM kalender WHERE start_time>$timestamp_start AND end_time<$timestamp_end";

 

Men, da får jeg bare opp de som starter og slutter samme dag... :(

Noen ideer?

Lenke til kommentar
Videoannonse
Annonse
Bruker dette query'et nå:

$query = "SELECT tittel, beskrivelse, start_time, end_time FROM kalender WHERE start_time>$timestamp_start AND end_time<$timestamp_end";

 

Går utifra at $timestamp_start er kl 00:00:00 og _end er 23:59:59 ( eller noe slikt )

$query = "SELECT tittel, beskrivelse, start_time, end_time FROM kalender WHERE ";
// Henter du de som starter  inni tidsrammen.

$query .= "( start_time > $timestamp_start AND start_time < $timestamp_end ) OR ";

// henter ut de som slutter inni tidsrammen

$query .= "( end_time >$timestamp_start AND end_time < $timestamp_end ) OR ";

// så henter vi ut de som går rundt tidsrammen

$query .= "( start_time < $timestamp_start AND end_time > $timestamp_end )";

Lenke til kommentar

Takk for tipset, men dessverre ble det ikke noen endring med det queryet... :(

 

$timestamp_start er den aktuelle dagen kl 00:00:01 (f.eks 20.06.06 00:00:01 som unix timestamp)

_end er den aktuelle dagen kl 23:59:59 (f.eks 20.06.06 23:59:59 som unix timestamp)

 

Her er en hendelse som går fra 15.-18. juli:

test-tittel, test-beskrivelse, 1152979200, 1153227600

 

Her er $timestamp_start for den 16. juli: 1153000801

og $timestamp_end: 1153087199

 

Hvordankan sette opp queryet så den viser hendelsen over?

Lenke til kommentar

Oops! Så ut til at det var en feil i koden min :blush:

Ble dette queryet som ble løsningen:

$query = "SELECT tittel, beskrivelse, start_time, end_time FROM kalender WHERE ";
$query .= "(start_time>$timestamp_start AND end_time<$timestamp_end) OR";
$query .= "(start_time<$timestamp_end AND end_time>$timestamp_start)";

Endret av ZoRaC
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...