Szeretnék csinálni egy ilyen kisebb "webes játékot", valami ötlet, hogyan kivitelezhetnék pár dolgot?
Arról lenne szó tulajdonképpen, hogy csináltam egy oldalt ahol regisztrálhat és bejelentkezhet a felhasználó (php,mysql meg egy kis javascript). Amikor regisztrálsz, lesz egy olyan meződ is, hogy "Kredit". Azt már meg tudtam csinálni, hogy ha X szám feletti kredited van, akkor egy gombra nyomva tudj venni ládát, ez pedig úgy néz ki, hogy van egy "raktar" nevű tábla, ami regisztrációkot az azonosítóddal lett összekötve, és a raktar táblában van egy mező, hogy "ladak" (ládák), és mikor veszel egyet, ott a szám 0-ról 1-re nő. Azt szeretném most megoldani, hogy mikor veszel egyet, akkor az egy adott idő után történjen csak meg. Például, ha veszel 10-et, akkor mondjuk írja ki, hogy 60 másodperc múlva érkezik meg, és csak 60 másodperc után írja jóvá és (mondjuk) 80 másodperc után tegye lehetővé, hogy ismét rendelj.
Arra gondoltam, hogy ezt szerver oldalon kellene megoldani. Fel is telepítettem egy virtuális debiant, feltöltöttem rá a táblákat meg az oldalt. Viszont nem tudom, hogyan lehetne kivitelezni, amit fent írtam.
Az hogy csak (mondjuk) 80 másodperc után tegye lehetővé, hogy ismét rendelj, mindig a legutolsó rendelésnek "unix timestamp"-át eltárolod adatbázisba adott tábla adott mezőjében. Ha még nem rendelt sosem akkor kezdetben felvehet 0 értéket ez a timestamp, default 0 érték is megadható sql szinten, insert into-nél ki is hagyható, 0-át fog behelyettesíteni oda. Ez csak tipp, nem muszáj nullát rakni bele, mysql támogatja azt is, hogy létrehozáskor az aktuális unix timestamp érték kerüljön be default-ként. Az unix timestamp-ot php-vel is le tudod kérdezni mennyi. Ismét rendelés visszautasítása ha az aktuális unix timestamp-ból kivonva az adatbázisban lévővel kisebb mit 80.
Az hogy később íródjon jóvá, arra meg külön feladatütemező kliens kéne szerver oldalon elsőre belegondolva. Persze megvalósítástól is függ, de lehet hogy itt már a klines szerver szerepek nem mindig egyoldalúak. Viszont még erre se lenne szükség jobban belegondolva. Jóváírod azonnal valójában, legyen olyan mező mely unix timestamp-ba tárolja mikortól érvényes. Jóváíráskor az aktuálishoz hozzáadsz 60-at.
Nem is "elfoglalt" névvel, hanem mondjuk "ettolErvenyes", bár nem elnevezéstől függ a működés.
Erre én, se gondoltam, de néha elő fordulnak szökő másodpercek, azt nem tudom mikor lesznek a jövőben, ez okozhat anomáliát éppen, ha pont a legrosszabb eset következik be. Sose futottam bele ilyenbe.
Idézet a wiki-ből :
"Heterogén számítástechnikai környezetben működő ipari alkalmazásoknál gyakran azt a megoldást választják, hogy inkább leállítják a gyártási folyamatot, vagy a karbantartást arra az időszakra időzítik, amikor a szökőmásodperc esedékes, mert a teljes folyamat irányítását végző berendezések viselkedését kockázatos megjósolni."
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!