Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Funkcja odliczania czasu + Usuwanie po upływie czasu.
Forum PHP.pl > Forum > Przedszkole
Klycior
Witam,
Posiadam panel w którym user wykupuje lepszy typ konta.
Działa to na takiej zasadzie kiedy wykupi konto VIP to w bazie mam tabelę do kiedy i w niej tworzy się teraźniejszy czas oraz dodaje 31 dni tworząc czas do kiedy jest VIP.Napisałem sobie panel w którym mam wgląd kto do kiedy ma konto VIP lecz mam problem ponieważ kiedy czas przekroczy mam w efekcie: -57891 sekunde.
Posłużyłem się funkcją time() i moje pytanie jak zrobić żeby odliczało jeszcze w tył czyli 3 dni temu.

A 2 moje pytanie:

Napisałem funkcję która powoduje jeżeli czas z "dokiedy" jest równy czasowi time() to STATUS przy danym użytkowniku zmienia się na 0 i w tym momencie konto VIP zostaje wyłączone.Ale zastanawia mnie czy to jest możliwe do realizowania ponieważ nie wiem czy to zadziała (Czy skrypt będzie działał w tle czyli nigdzie nie będzie otwarty).
thek
Fatalnie zrealizowane zarządzanie kontami. Identyczne widziałem w pewnym produkcie komercyjnym, ktory mam niestety pod opieką i wiem, że bez całkowitej rezygnacji z niego w nieodległej przyszłości się nie obejdzie. Zarządzanie userami powinno być na podstawie zwykłego timestamp zrealizowane. Jak? Userzy, którzy wykupują konto VIP mają datę "ważności" ustawianą na przyszłość, czyli przykładowo czas obecny + 30 dni. Darmowi mają ją zawsze jako przeszłość. To w zupełności wystarczy by serwis "w czasie rzeczywistym" wiedział kiedy ktoś ma VIP, a kiedy nie. Wystarczy że zrobiśz zapytanie:
  1. SELECT * FROM users WHERE waznosc > curtime()

lub curdate(), zależy co tam chcesz smile.gif Nawet od biedy możesz dodać kolumne dodatkową o nazwie VIP i codziennie sobie CRONa odpalać co jakiś czas by zrobił zapytanie:
  1. UPDATE users SET VIP = 0 WHERE id IN (SELECT id FROM users WHERE VIP = 1 AND waznosc < curtime() )
by wyłapać tych, którym się skończył, okres VIPa smile.gif Wszystko idzie z automatu bez jakiejkolwiek Twojej ingerencji. Kombinowanie z ustawaniem licznika dni, czasu który coś odejmuje to jedno wielkie nieporozumienie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.