Toenemen van waarde met tijd (MySQL/PHP5)
Een voorbeeld zou een browsergame zijn. Deze maken vaak gebruik van grondstoffen die afhankelijk van je gebouwen toenemen met de tijd. Ik kan hier weinig over vinden.
Een gedachtensprong van mij is dat de berekeningen in PHP verwerkt zijn in combinatie met een timestamp en dat bij elke refresh de timestamp wordt nagekeken en berekend wordt hoe veel toegevoegd moet worden aan de huidige poel t.o.v. de vorige timestamp en de huidige tijd.
Iemand ideeën?
time()
Dat geeft je het aantal seconden dat is verstreken sinds
1 januari 1970, Greenwich
Denk je dat het de beste optie is? Of zouden er nog meer opties zijn naast het gebruik van de timefunctie?
Ik denk dat je het ook kan oplossen dmv een cookie te gebruiken waar dan een datum in staat.
Ben benieuwd naar oplossingen.
Ik kan alleen de timestamp-mogelijkheid verzinnen maar ben erg nieuwsgierig naar andere opties.
EDIT: Ik ben een newbie, dus als ik iets fout heb stel ik positieve kritiek zeer op prijs ;)
Gewijzigd op 17/03/2011 11:38:52 door Nick Zwaal
ik weet niet wat je precies wilt bereiken maar je kan wel een timestamp naar database laten schrijven en bij de volgende login het verschil van nu en datestamp laten berekenen en aan de hand daarvan een berekening maken.
Ilker kulgu op 17/03/2011 11:57:52:
ik weet niet wat je precies wilt bereiken maar je kan wel een timestamp naar database laten schrijven en bij de volgende login het verschil van nu en datestamp laten berekenen en aan de hand daarvan een berekening maken.
Dat is inderdaad het plan ;)
Ik vraag me af of er betere methodes zijn dan deze, omdat het script moet worden aangeroepen om een wijziging te krijgen. Nu lijkt me dat wel minder serverbelastend dan bijvoorbeeld om de 3 minuten een volledige aanpassing door de MySQL.
Tot nu toe lijkt het timestamp idee in ieder geval het slimst.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html wat voor te gekke dingen je daar mee kan doen. Gebruik i.i.g. NOW() ("INSERT INTO tabel (kolom) VALUES (NOW())") om de huidige tijd in DB op te slaan.
Timestamp is achterhaald, gebruik datetime en bijbehorende datetime functies. Zie Geweldig, dank je voor jullie reacties. Ik ga gebruik maken van de datetime functies :)