Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> data - jeśli minęły 4 dni to..., skrypt do cron'a
Najki
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


Więc mam datę. Jej postać to:
200410202115 (2004 rok 10 miesiąc 20 dzień 21 godzina 15 minut)
Chcę do cron'a wrzucić skrypt, który co dobę będzie sprawdzał czy w tabeli bazy danych istnieją użytkownicy z niepotwierdzoną rejestracją, których data rejestracji jest starsza o minimum 4 dni od obecnej (wtedy usuwani). Jak go napisać? Może wykorzystuję zły format daty? Może po prostu go przekształcić na chwilę do innego formatu i wtedy sprawdzić datę? W jaki sposób dokonać tego sprawdzenia?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Jojo
post
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Ja zawsze używam do zapisywania czasu formatu Unix'owego (jakby ktoś nie wiedział jest to ilość sekund od 1. stycznia 1970). Na takim formacie najłatwiej się operuje, ponieważ możesz wykonywać na nim dowolne działania arytmetyczne. Gdy masz czas podany w takiej formie wystarczy dwie daty od siebie odjąć i w prosty sposób uzyskujesz ich "odległość". Wtedy tylko taką "odległość" pprzyrównujesz do jakiejś stałej i wiesz czy wpis danego użytkownika możesz usunąć czy też nie.


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
Najki
post
Post #3





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


timestamp ?
No dobra, ale jak to wtedy przekształcić na zwykłą datę, aby wyświetlić na stronie? snitch.gif


--------------------
Go to the top of the page
+Quote Post
Jojo
post
Post #4





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Zajrzyj do manuala i poczytaj o funkcji date" title="Zobacz w manualu PHP" target="_manual. Szczególnie zwróć uwagę na jej drugi parametr.


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
mls
post
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Gdybyś posiadał listę użytkowników w tabeli MySQL nie byłoby żadnego problemu smile.gif Wtedy wystarczy usunąć wszystkich, których data rejestracji jest mniejsza od NOW() - INTERVAL 4 DAY smile.gif


--------------------
Go to the top of the page
+Quote Post
Najki
post
Post #6





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

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


Więc powinno to wyglądać mniej więcej tak?
  1. <?php
  2. $za_cztery_dni = mktime (0,0,0,date(&#092;"Y\"),date(\"m\"),date(\"d\")+1,date(\"H\"),date(\"i\"));
  3. ?>

No, ale to mi sprawdzi, czy dany użytkownik nadaje się do usunięcia, jak już go pobiorę z bazy. Wolałbym wybrać z bazy tylko tych, którzy nadają się do usunięcia. Chyba, że wybrałbym po prostu tych, którzy nie mają aktywowanego konta i wtedy bym porównywał daty, ale jednak wolałbym pobrać tylko tych użytkowników, którzy mają konto nieaktywne (aktywne='0') i datę rejestracji (rejestracja='200410202219') mniejszą o cztery dni od dzisiejszej. Jak to zrobić? Jak wykorzystać to INTERVAL ?

Trochę bez sensu byłoby sprawdzać wszystkich userów po kolei :/. Jak jest ich np. 60 000 to by było 60 000 zapytań do bazy i 60 000 instrukcji warunkowych w pętli :/.

Ten post edytował Najki 21.10.2004, 22:01:06


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 15:43