23. oktober 2010 - 22:37Der er
5 kommentarer og 1 løsning
Unix timestamp 1 dag
Hej eksperten.dk
jeg bruger Unix timestamp til min online Counter for at tjekke om folk er inaktive, har så været i gang med et lotteri system til min side og skal lige høre om denne løsning virker eller om der er nogen af jer der har en reddere ide.
Min ide er:
if (// hvis mit lotteris timestamp er 24 timmer gammelt) { mit lotteri script hvor man kan vælge 4 tal og trykke spil og så bliver ens 4 cifrede tal gemt i db og der bliver trukket nogen point fra ens konto og lagt til puljen. } else { Hvis der er gået 24 timer siden Unix timestamp blev opdateret bliver der lavet et random 4 cifret tal og vis der er en bruger som har ramt det tal får han puljen og Unix timestamp bliver opdateret, og vis der ikke er nogen vindere så skal den kun opdatere timestamp. }
Håber ikke det lyder forvirende...
Jeg har selve lotteri scriptet det eneste jeg skal ha hjælp til at lave er:
Det fede ved Unix Epoch er jo at man rigtig nemt kan gå frem og tilbage i tiden. Hvis du har det i databasen som et tal i sekunder (Unix Epoch), er det bare at hente det ud af databasen og så trække 24 timer fra i sekunder.
Dog får jeg ikke dine if sætninger til at give mening. Først spørger du om hvis lotteriet's time er 24 timer gammelt, skal der ske noget.. Og så i din else, spørger du igen om hvis det er 24 timer gammelt, skal der ske noget andet...
Det giver ikke rigtig mening.
Virker mere som om at den første if skal være, at hvis lotteriet's timestamp, IKKE er over 24 timer gammel, skal man kunne "spille". Nå der så er gået 24 timer, vil den trække lod.
Det kunne se således ud;
udtræk fra database og så videre... Du ender op med tallet i sekunder her (din timestamp).
$checkTimeNow = time() - (60 * 60 * 24); // Sekunder x minutter x timer.
if ($lotteriTime <= $checkTimeNow) { // Hvis timestamp er 24 timer gammel eller mere. Dit kode her .. Den trækker lod.. } else { Folk kan spille på deres tal indtil der er gået 24 timer fra start af. }
Men du skal jo huske på, at det er PHP. Det bliver ikke udført automatisk. Der bliver ikke trukket lod om et random tal, før en person går ind på siden, så koden bliver eksekveret.
Og hvis du først går ind på siden, får du et random tal. Hvis jeg så går ind bagefter fx, får jeg et andet random tal.
Det vil ikke være det samme lotto tal for alle. Men det er måske heller ikke meningen?
Det kan det dog sagtens være, men så skal du bare gemme tallet som der bliver udtrukket og så vise det til folk efter 24 timer...
Jeg må faktisk være meget træt :S Det er ligegyldigt om du bruger den ene eller anden anden kom jeg i tanke om. De giver samme værdi. I det her tilfælde, bør du bruge time(); dog.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.