Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Usuwanie odpowiednich wpisów w bazie co 24 godziny
HTMLame
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.07.2009

Ostrzeżenie: (0%)
-----


Problem jest następujący:

User rejestruje się na stronie, po czym na jego maila trafia link aktywujący, a do bazy są zapisywane jego dane, przy czym jedną z kolumn jest kolumna 'aktywowany', która początkowo ma wartość 0, a po kliknięciu na link aktywujący zmienia wartość na 1. Jest też kolumna przechowująca datę i godzinę rejestracji.

Chciałbym, aby co 24 godziny (np. codziennie o północy) z tabeli użytkowników zostali usunięci użytkownicy, którzy mają wartość aktywowany=0 i którzy zarejestrowali się wcześniej 48 godzin temu (aktualna_data - data_rejestracji > 48 godzin).

Jak to zrobić?

Chciałbym to zrobić w taki sposób, żeby zadziałał na każdym płatnym hostingu (a przynajmniej na większości), ponieważ nie będę miał możliwości "kopania" w ustawieniach serwera ani dostępu do panelu administracyjnego konta.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zapominasz o jednym ważnym aspekcie. Istnieje konieczność żeby chociaż jeden użytkownik próbował aktywować konto. A jak przez jakiś dłuższy okres się to nie stanie? To będziesz miał w bazie niepotrzebne rekordy.
A jak będzie dużo aktywacji? Będziesz wykonywał dużo niepotrzebnych zapytań. Cron nie jest jakimś cudem, który jest trudno dostępny, bo ja pisałem jest raczej dostępny na KAŻDYM hostingu. Nie mówie o darmowych gównach bo to nie hosting.

Właśnie twój pomysł, jest robieniem czegoś nad wyrost. Bo skoro ma być usuwane Raz na 24H to robi się to właśnie w ten sposób.
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

Ostrzeżenie: (0%)
-----


Cytat
Zapominasz o jednym ważnym aspekcie. Istnieje konieczność żeby chociaż jeden użytkownik próbował aktywować konto. A jak przez jakiś dłuższy okres się to nie stanie? To będziesz miał w bazie niepotrzebne rekordy.

To co z tego ? No pomysl sam. Przy kazdej rejestracji takie rekordy zostana
wczesniej usuniete. Zadam wiec pytanie to co z tego ?
Wiesz z moich doswiadczen wynika, ze na stronie z 20 tys
uniqu, 120 tys odswierzen strony dziennie max takich
wpisow zostaje okolo 4 po czym wystarczy jedna osoba, ktora sie
bedzie chciala zarejestrowac i te przeterminowane znikaja.
Zadam wiec jeszcze raz pytanie. Wiec co z tego ? i jaki tu widzisz bezsens ?
Cytat
A jak będzie dużo aktywacji? Będziesz wykonywał dużo niepotrzebnych zapytań.

Mam na stronie okolo 30 aktywacji dziennie. Zapytania sa wykonywane
wylacznie w wypadku jesli nastepuje proba aktywacji. 30 dziennie (IMG:style_emoticons/default/exclamation.gif)
Cytat
Cron nie jest jakimś cudem, który jest trudno dostępny, bo ja pisałem jest
raczej dostępny na KAŻDYM hostingu.

Oj zdziwilbys sie ...
Nie pisze tutaj o dedykach bo kto dla malutkiej strony kupuje dedyka ?
Administratorzy zazwyczaj jesli odsprzedaja hosting to nie jest w ich interesie
aby dodatkowo obciazac system poprzez kilka skryptow, ktore trzeba z soba
zgrac aby to zadzialalo, a co za tym idzie dodatkowo obciazac system.
W ich interesie jest aby jak najwiecej stron upakowac na serwerze
i zeby uzyskac z niego jak najwiecej kasy. Chyba po to sie to robi ...

Cytat
Raz na 24H to robi się to właśnie w ten sposób.

Ja rozmawiam z programistami czy z kim w koncu ?
Patrz :
  1. $db = mysql_query("DELETE FROM em_aktywacje WHERE (data_waznos<$terazjest)");

Jedno zapytanie zalatwia sprawe. A Ty kazesz :
1. dodac wpis obciazajacy cron
2. dodac skrypt, ktory bedzie to wykonywac z kilkoma rozkazami
wiecej wewnatrz ...

I po co ? Tylko po to zeby to samo zalatwic co ja zalatwiam
jedna linijka. Zareczam Ci, ze duzo takich wpisow nie zostaje w bazie, a
jak przemyslisz sprawe to tak na prawde zostaja sie wylacznie wpisy, ktore nie
przekroczyly jeszcze czasu. Analogicznie przy stronie, ktora ma duza
ogladalnosc wiec jest wiecej sie rejestrujacych, takich wpisow jest
wiecej, ale sa czesciej kasowane. Przy stronie rzadziej odwiedzanej
analogicznie bedzie tez mniej rejestrujacych sie i co za tym idzie
mnie wpisow.

Jeszcze raz bo nie kumam ... co jest bez sensu ?
Wasze kumoterstwo czy brak odwagi zeby sie przyznac do bledu ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 08:48