---
title: "Plussa på tid (30 dagar)?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/177970-plussa-på-tid-30-dagar"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Guldstrand"
published: "2009-04-10T17:03:31.000Z"
updated: "2009-04-14T03:56:27.000Z"
replies: 13
views: 940
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/databaser-sql/177970-plussa-på-tid-30-dagar"
---

# Plussa på tid (30 dagar)?

## #1 — Guldstrand, 2009-04-10T17:03Z

Vad är det för fel på denna kod?

```php
if ($rad['plus_till'] == '0000-00-00 00:00:00'){
$till = get_date_time(gmtime() + 30*86400); 
} else { 
$till = "plus_till = $rad[plus_till] + 30*86400"; 
}

mysql_query("UPDATE users SET class = '1', plus_till = '$till' WHERE username = '$medlem'");
```

Varje gång jag ska "plussa på" 30 dagar, så nollställs fältet till "0000-00-00 00:00:00".  :(

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

## #2 — colione, 2009-04-10T17:50Z

använd mysqls date_add istället.

<http://www.w3schools.com/SQL/func_date_add.asp>

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

## #3 — Guldstrand, 2009-04-10T17:55Z

> **[colione skrev:](https://www.webforum.nu/p/1463961)**
>
> använd mysqls date_add istället.
> 
> <http://www.w3schools.com/SQL/func_date_add.asp>

Ok! Men jag förstår inte den funktionen riktigt.  :r

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

## #4 — LarsG, 2009-04-10T18:57Z

```
update users
   set class = 1,
        plus_till = plus_till + interval '30' day
 where username = '$medlem'
```

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

## #5 — Guldstrand, 2009-04-10T22:47Z

Jag får fortfarande inte till det.  :x

Har detta:

```php
if ($rad['plus_till'] == '0000-00-00 00:00:00'){ 
$datum = date("Y-m-d H:i:s", strtotime("+30 day"));

} else { 
$datum = date($rad['plus_till'], strtotime("+30 day"));
}

mysql_query("UPDATE users SET class = '1', plus_till = plus_till + '$datum', WHERE username = '$medlem'");
```

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

## #6 — Guldstrand, 2009-04-11T04:49Z

\*bump\*

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

## #7 — Peter S, 2009-04-11T09:28Z

Om du skriver ut den färdiga SQL-frågan så ser du att den inte ser likadan ut som LarsGs exempel. T.ex. saknas *interval*.

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

## #8 — Guldstrand, 2009-04-11T12:10Z

> **[Peter S skrev:](https://www.webforum.nu/p/1464022)**
>
> Om du skriver ut den färdiga SQL-frågan så ser du att den inte ser likadan ut som LarsGs exempel. T.ex. saknas *interval*.

De exempel jag har sett, använder inte "INTERVAL", utan ADDDATE eller date_add, men jag förstår inte hur det fungerar.

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

## #9 — Guldstrand, 2009-04-11T13:13Z

Någon som kan hjälpa mig med detta?

Om fältet "plus_till" har "0000-00-00 00:00:00", ska 30 dagar läggas till från dagens datum.
Om fältet "plus_till" redan har data, ska 30 dagar läggas till (plussas på) från det datumet som redan finns sparat i fältet.

(Koden ska användas till en VIP funktion.)

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

## #10 — Guldstrand, 2009-04-11T16:00Z

\*bumpellibump\*  :x :r

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

## #11 — LarsG, 2009-04-11T16:42Z

```
update users
   set class = 1,
        plus_till = case when plus_till = '0000-00-00 00:00:00' then 
                    current_date else plus_till end + interval '30' day
 where username = '$medlem'
```

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

## #12 — Guldstrand, 2009-04-11T17:25Z

> **[LarsG skrev:](https://www.webforum.nu/p/1464055)**
>
> ```
> update users
>    set class = 1,
>         plus_till = case when plus_till = '0000-00-00 00:00:00' then 
>                     current_date else plus_till end + interval '30' day
>  where username = '$medlem'
> ```

**Tack!**

Datumet stämmer men klockslag sparas inte.  :q

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

## #13 — Guldstrand, 2009-04-12T13:31Z

\*bump\*

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

## #14 — @nders, 2009-04-14T03:56Z

Använd current_timestamp istället då.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/177970-plussa-på-tid-30-dagar
