Autor Zpráva
PhP_student
Profil *
Zdravím, rád bych dosáhnul podobné funkce jako je ve webgame Divoké Kmeny při upgradování budov, tedy toho, když stisknu na upgrade, aby se mi začal odečítat čas a po te době se hodil insert do db.. Jak toho docílím? Předem všem díky!
fanos
Profil
potrebujes v pravidelnych casovych intervalech spoustet nejaky script ktery bude kontrolovat cas pozadavku a aktualni cas a pokud zjisti ze jiz uplynul pozadovany cas tak provede pozadovou akci - napr insert do db. Tomu spousteni ze rika cron a je vice moznosti jak ho imlementovat, bud primo na serveru bude daemon ktery ho bude spustet - nabizeji nektery webhostingy nebo v druhem pripade takovy ktery se automaticky spousti kdyz nektery uzivatel navstivi web.
Joker
Profil
fanos:
potrebujes v pravidelnych casovych intervalech spoustet nejaky script
Nepotřebuje.
Insert se může (a asi by se měl) provést rovnou při kliknutí na výstavbu.

Může to fungovat třeba takhle:
Uživatel klikne na výstavbu, do databáze se zapíše příslušná budova. Bude mít sloupec významu „aktivní od“, kam se uloží aktuální čas plus doba výstavby.
Budovy ve výstavbě jsou ty, kde „aktivní od“ je větší než aktuální čas, zbývající doba výstavby je „aktivní od“ mínus aktuální čas.
PhP_student
Profil *
Děkuju přesně tohle jsem chtěl, ještě jedná otázka, když chci k aktualnímu času přičíst třeba 45 mínut, jak to udělám? Pochybuju že to půjde přes klasické matematické funkce že? Navíc když mám format času "20:00 10.11.2010"...
fanos
Profil
datum a cas je vyhodne ukladat v unixovem timestampu coz je cele cislo - pocet sekund uplynulych od 1.1.1970, pak se s nim dobre pracuje
takze 45 minut by si pricetl jako 45*60 (minuta ma 60 sekund takze krat 60) a potom muzes jednoduse porovnavat dve cisla a zjistovat jestli uz nastal cas
v php ti aktualni timestamp vrati funkce time()
PhP_student
Profil *
Díky vám oboum ;)
Joker
Profil
fanos:
datum a cas je vyhodne ukladat v unixovem timestampu coz je cele cislo
Datum a čas se do databáze ukládá jako typ DATETIME a na přičítání/odečítání jsou funkce, jako například v MySQL timestampadd

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: