Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatyczne powiększanie rekordu, Powiększanie rekordów o 1 co 10 minut
Ethel
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.07.2005

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


Witam, potrzebuje informacji/wskazówek jak napisać skrypt który będzie mi co 10 minut powiększał w wszystkich rekordach pewne pole o 1.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Skobi
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


Za pomocą bazy MySql nie uruchomisz skryptu co jakiś odstęp czasu, ale możesz napisać skrypt w np. php ktory będzie aktualizował baze.
Poszukaj pod hasłem cron było wiele razy na tym forum.
Go to the top of the page
+Quote Post
Ethel
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.07.2005

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


Poczytałem i doszedłem do wniosku że skrypt ten może być uruchamiany jedynie przez administratora servera. Natomiast problemem jest to iż ja administratorem nie jestem, a jedynie urzytkowinkiem. Czy jest inne rozwiązanie ?
Go to the top of the page
+Quote Post
Skobi
post
Post #4





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


Hm, mam pomysł na jedno rozwiązanie, ale jest ono gorsze od crona. Rozwiązanie to:

Możesz taki skrypt zaimplementować u siebie na stronie i uruchamiać go jako pierwszy skrypt w aplikacji. Mógłbyś trzymać gdzies w bazie kiedy ostatni raz byl uruchamiany. Obliczyć różnicę minut od ostatniego uruchomienia i zaktualizować bazę. Oczywiście trzeba to dokładnie przemyśleć, ale myślę, że da się zrobić. Oczywiście uważam, że jest to rozwiązanie toporne, ale skoro nie ma innego wyjścia, no chyba, że takiego nie znam.
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Skobi @ 2005-07-23 22:50:50)
Możesz taki skrypt zaimplementować u siebie na stronie i uruchamiać go jako pierwszy skrypt w aplikacji.

A jeżeli na Jego stronę nikt nie wejdzie przez godzinę (przez godzie się nie wykona) questionmark.gif To co questionmark.gif

Są dwa wyjścia:
1. Dostęp do crona bezpośredni na serwerze "zainteresowanym" i odpalać skrypt wykonujący operacje bazodanowe co 10 min.

2. Dostęp do crona na innym serwerze, który wykona skrypt łączący sie ze skryptem na serwerze A i go wykonującym.


Tak czy inaczej potrzebujesz skryptu niezawodnie odpalanego w równych ostępach czasu, co oznacza crona, nieważne gdzie.
Go to the top of the page
+Quote Post
Skobi
post
Post #6





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


Cytat
mam pomysł na jedno rozwiązanie, ale jest ono gorsze od crona


dlatego pisalem, że jest to gorsze rozwiązanie, a co do

Cytat
A jeżeli na Jego stronę nikt nie wejdzie przez godzinę (przez godzie się nie wykona) questionmark.gif To co questionmark.gif


to piszę żeby zapisywać w bazie kiedy się ostatni raż wykonał. Jeżeli zapis w bazie wskazuje na godzinę:

2005-07-23 23:00, a jest teraz 2005-07-24 00:09

to zwiększa wybrane rekordy o 6.
Go to the top of the page
+Quote Post
Spike
post
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 3.02.2004
Skąd: Tczew

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


Uważam że rozwiązanie Skobi-ego było by dobre w tym przypadku gdyż brak jest crona - umieszczenie tego kodu zaproponowanego przez Skobiego znajdowało by sie gdzieś przed wyświetleniem tej informacji dla klienta i już klient widziałby zaktualizowany rekord
Go to the top of the page
+Quote Post
dag
post
Post #8





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 24.12.2003

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


Zalezy dlaczego chcesz powiekszac regularnie o dana wartosc rekord. Jesli maja to byc dane dla odwiedzajacych witryne, to nawet w przypadku jesli nikt nie wchodzil na strone, to nie ma potrzeby aktualizowac dane (bo i tak Ci sie nie uda bez narzedzi typu CRON). Natomiast gdy wejdzie jakis user mozesz obliczyc ile czasu uplynelo od ostatniej aktualizacji i wykonac tyle powiekszen ile uplynelo czasu/cykli.


--------------------

------------------------------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
Ethel
post
Post #9





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 23.07.2005

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


W takim razie opowiem moją sytuacje: (tylko sie nie śmiejcie że taki lamus jak ja sie bierze za takie rzeczy tongue.gif )

Mam zamiar napisać prostą gierke internetową, strategie turową (gracz sobie buduje budynki i wykonuje inne opcje następnie klika na przeliczenie tury i sie zmiany ktorych dokonał aktualizują w bazie ... może ktoś grał w gre typu RedDragon to będzie wiedział o co chodzi) i chciałbym aby co 10 minut była dodawana tura wszystkim graczą.
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: 20.08.2025 - 10:33