Jak dekrementować codziennie pole w tabeli?

0

Siemka, dodałem do tabeli INT który oznacza ile dni pewnego przywileju pozostało, jak mogę codziennie decremetować tą wartość o 1? ?

0

Nie lepiej zapisać moment w którym rekord został dodany? Wtedy gdy wchodzisz na stronę, sprawdzasz ile dni minęło od tego czasu i robisz co tam chcesz.
Czasami widzę też podobne rozwiązanie, ale rozwiązanie trochę odwrotnie tj. zapisujesz datę kiedy dane odliczanie ma się skończyć, w sumie podobne, ale wtedy nie trzeba nic odejmować. Szczególnie przydane jeżeli mówimy np. o dostępnie premium do jakiejś części witryny.

0

No dobra, to wtedy jak?
przy czym w $return jest informacja o ile dni dodać do obecnej przypisanej tam wartości :)

mysql_query("UPDATE shops SET ads=NOW()+'ADDDATE($return)' WHERE login='$nickname'");

tzn. jak zrobić to coś a'la premium ?

dodanie znacznika <code class="php"> - @furious programming

1

Nie chciałbym strzelać oczywistościami jeżeli już to wiesz, ale data przechowywana jest, najczęściej, w postaci ilości sekund które minęło od 1 stycznia 1970 roku 0000. W tym momencie moim zdaniem staje się oczywiste jak tym operować. Nie pamiętam już dokładnie funkcji w php, więc więcej Ci niestety nie pomogę. Btw zainteresuj się PDO, bo Twój sposób operowania na bazie nie jest specjalnie bezpieczny.

Edit: Chyba coś takiego

if($premium_end > time())
  $premium_end += $additional_premium_period_in_seconds;
else
  $premium_end = time() + $additional_premium_period_in_seconds;
query...

1 użytkowników online, w tym zalogowanych: 0, gości: 1