ZoRaC Skrevet 3. juni 2006 Del Skrevet 3. juni 2006 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
trondes Skrevet 4. juni 2006 Del Skrevet 4. juni 2006 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
ZoRaC Skrevet 4. juni 2006 Forfatter Del Skrevet 4. juni 2006 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
ZoRaC Skrevet 4. juni 2006 Forfatter Del Skrevet 4. juni 2006 (endret) Oops! Så ut til at det var en feil i koden min 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 4. juni 2006 av ZoRaC Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå