Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][MySQL][PHP]Funkca Czasu(timestamp) gdzie data = akcja
Soulast
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


Nie wiem do końca czy jest to wykonalne ciągle się uczę php a jest tego masa więc zapytuje się was rodaków o pomoc.

To tylko przykład

Chcę zrobić działanie typu: mam w tabeli sql zapisany czas ukończenia turnieju 20:30/21/06/2010, po wyczytaniu w jakiś sposób tej daty pragnę aby funkcja przechodziła do innej funkcji np dodania zwycięzcy turnieju do innej tabeli.

Go to the top of the page
+Quote Post
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Wykonujesz normalne zapytanie, potem sprawdzasz ifem czy zostało wykonane poprawnie, jeśli tak, to jedziesz z następnym.

Eee....w złym temacie odpowiedziałem...

@autor: Napisz po ludzku o co Ci chodzi.

Ten post edytował pedro84 8.06.2010, 11:41:34


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
wookieb
post
Post #3





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




W mysqlu masz eventy.
Do php jest cron.
Tylko nie opisałeś o co Ci chodzi z "po wyczytaniu w jakiś sposób tej daty"


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





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


Nie wiem czy dam rade prościej:D

Tworze turniej dodając dane do tabeli turniej wraz z datą końca turnieju i w skrócie mówiąc chce aby automatycznie po danej dacie turniej był zakończony a dane zwycięzcy przeszły do jakiejś tabeli.

Mój przykładowy kod do którego doszedłem to


$turniej = mysql_query("SELECT `id`,DATE_FORMAT(DATE_ADD(`openTimestamp`, INTERVAL 0 HOUR), '%m.%d.%y') from turniej");
$turniej = mysql_fetch_array($turniej);

if( ($openTimestamp < gmdate('Y-m-d 00:00:00')) <--miało by sprawdzić czy data z tabeli turnieju jest taka sama jak aktualna jeśli tak to następuje funkcja dodania zwycięzcy turnieju do jakiejś tam tabeli drużyn coś ala

$druzyna = mysql_query("INSERT INTO druzyna cos tam cos tam)

w skrócie wyczytujemy datę z tabeli następnie ją sprawdzamy i wrzucamy dane do jakiejś tam tabeli

Ten post edytował Soulast 8.06.2010, 12:50:06
Go to the top of the page
+Quote Post
wookieb
post
Post #5





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




Czyli tak jak mówiliśmy. Eventy albo cron i za każdym razem byś sprawdzał któremu turniejowi minął czas końcowy no i wtedy wiadomo.

Jeżeli chodzi o eventy mysqlowe to możesz je ustawić na działanie cykliczne (co sekunde nawet) albo o określonej godzinie (zapraszam do dokumentacji) - wymagany mysql 5.1

Co do crona to odpalasz go co minutę. W skrypcie php robisz sobie
  1. sleep(1);
  2. sprawdz_turnieje();
  3. sleep(1);

Itd. Oczywiście możesz to ładnie opakować w pętle czy jak tam chcesz. Ale zasadę działania mam nadzieję kumasz smile.gif


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





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


Co do Crona to będzie działać również ze starszą wersją mysql??

Oraz dziękuje za pomoc właśnie tego szukałem;)
Go to the top of the page
+Quote Post
wookieb
post
Post #7





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




Tak cron jest uniwersalny niezależny od mysql.


--------------------
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: 22.08.2025 - 11:37