---
title: "Aktivera artikel inom tidsram?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/155911-aktivera-artikel-inom-tidsram"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "streetrobban"
published: "2007-01-12T13:58:06.000Z"
updated: "2007-01-12T14:47:21.000Z"
replies: 10
views: 419
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/155911-aktivera-artikel-inom-tidsram"
---

# Aktivera artikel inom tidsram?

## #1 — streetrobban, 2007-01-12T13:58Z

Hejsan,

Jag gör ett artikelscript där man ska kunna välja att en artikel kan vara aktiv mellan två datum, date_start och date_stop. Men vart ska man lägga en funktion som kollar om artiklar är aktiva eller inte, och aktiverar/avaktiverar vid behov. Och hur kan en sådan funktion se ut?

Tack på förhand.

Permalänk: https://www.webforum.nu/p/155911

## #2 — Peter S, 2007-01-12T14:01Z

Är inte det bästa att direkt i SQL-frågan välja ut de artiklar som faller inom tidsramen?

Permalänk: https://www.webforum.nu/p/1920220

## #3 — streetrobban, 2007-01-12T14:10Z

Hmm det kanske är bäst. Då måste man ju kolla så att dagens datum är äldre än date_start och yngre än date_stop.

```php
$get = mysql_query("SELECT * FROM articles WHERE date_start < $date && date_stop > $date");
```

Kan det funka?

Permalänk: https://www.webforum.nu/p/1920223

## #4 — Peter S, 2007-01-12T14:16Z

Helt klart. Däremot kanske AND är att föredra framför &&.

Sedan kan man fundera på om samtliga artiklar skall omfattas av en tidsram. Vissa kanske alltid är giltiga, vissa kanske har startdatum men inte slutdatum o.s.v. Skulle så vara fallet kan NULL sparas som värde för datumkolumnerna och SQL-frågan får modiferas en aning.

Permalänk: https://www.webforum.nu/p/1920225

## #5 — Zaiman, 2007-01-12T14:17Z

Har samma sak mot en Accessdatabas som fungerar..

Där ser SQL satsen ut:

```
"SELECT * FROM Nyhet WHERE NMain = TRUE AND publDatum <= #"  &  datum &"# AND endDatum > #" & datum & "# ORDER BY publDatum DESC"
```

/r
Så vid inmatning måste båda datumena sättas i databasen för att det ska fungera.

Permalänk: https://www.webforum.nu/p/1920226

## #6 — streetrobban, 2007-01-12T14:25Z

Tack för era svar!

Jag testade detta, och det funkade:

```php
$get = mysql_query("SELECT * FROM articles WHERE date_start < $date AND date_stop > $date || date_start = '$date' || date_stop = '$date'");
```

Det stämmer dock som du skriver Peter, vissa artiklar kanske inte har något slutdatum. Men hur menar du att man ska ändra på SQL-frågan då?

Permalänk: https://www.webforum.nu/p/1920231

## #7 — Peter S, 2007-01-12T14:26Z

Typ så här:

```
select *
  from articles a
 where (a.date_start is null and a.date_stop is null)   -- ingen tidsram
    or (a.date_start is null and $date <= a.date_stop)  -- giltig t.o.m. ett visst datum
    or ($date >= a.date_start and a.date_stop is null)  -- giltig fr.o.m. ett visst datum
    or ($date >= a.date_start and $date <= a.date_stop) -- giltig inom en viss tidsram
```

Permalänk: https://www.webforum.nu/p/1920232

## #8 — streetrobban, 2007-01-12T14:40Z

När jag använder den SQL-frågan så skrivs ingenting ut :(

Permalänk: https://www.webforum.nu/p/1920239

## #9 — Peter S, 2007-01-12T14:42Z

Du kanske måste ha apostrofer kring $date. Vad blir resultatet om du skriver ut frågan?

Permalänk: https://www.webforum.nu/p/1920240

## #10 — streetrobban, 2007-01-12T14:46Z

> Du kanske måste ha apostrofer kring $date.

Där hade vi svaret :) Tack för era svar. Nu ska jag lägga till lite artiklar och se hur det funkar några dagar framöver :)

Permalänk: https://www.webforum.nu/p/1920241

## #11 — Peter S, 2007-01-12T14:47Z

(y)

Permalänk: https://www.webforum.nu/p/1920244

---

Tråden på webben: https://www.webforum.nu/amne/php/155911-aktivera-artikel-inom-tidsram
