Som du har skrevet koden vil der kun blive nulstillet, hvis en bruger besøger siden præcist klokken 00:00.
Jeg ville tilføje et felt i databasen, som fortæller, hvornår indholdet skal nulstilles igen.
- <?php
- /* Her henter vi næste nulstillingsdato fra databasen
- */
-
- $query = mysql_query("SELECT 'next_reset_date' from fusion_ip_polls");
- while ($raekke = mysql_fetch_array($query)) {
- $nextResetDate = $reakke['next_reset_date'];
- }
- /* Her tjekker vi om næste nulstillingsdato er ligmed eller mindre end
- dagen i dag. Grunden til vi tjekker om næste nulstillings dato er ligmed
- eller mindre end dagen i dag og ikke kun om dagen er ligmed
- nulstillingsdagen er, at hvis siden ikke bliver besøgt i en dag eller mere
- vil et script der kun tjekker om dagen i dag er lig med næste nulstillingsdag
- ikke virke.
- */
- if ($nextResetDate <= date('Ymd')) {
- /* Her sætter vi tidspunktet for næste nulstilling i formatet År-Måned-Day
- Hvis vi antager at i dag er 20100915, d 15 september 2010,
- er næste nulstilling 20100916, d 16 september 2010.
-
- På denne måde behøver scriptet ikke blive kørt nøjagtigt kl 00:00,
- men vil blive nulstillet af den første bruger, som åbner siden
- d. 16 september 2010. Om det er klokken 00:01 eller kl 10:15 er
- ligegyldigt. Hvad ingen ved, har ingen ondt af :P
-
- Selvom databasen først fysisk bliver nulstillet klokken 10:15, er
- scriptet skrevet, så det kunne være sket 00:00:01, hvis en bruger
- havde besøgt siden og den egentlige nulstillingstid er derfor ligegyldig.
- */
-
- $nextResetDate = date('Ymd') + 1;
-
- mysql_query("UPDATE fusion_ip_polls set
- next_reset_date = '" . $nextResetDate . "', poll_votes_0 = '0',
- poll_votes_1 = '0', poll_votes_2 = '0',
- poll_votes_3 = '0', poll_votes_4 = '0',
- poll_votes_5 = '0', poll_votes_6 = '0',
- poll_votes_7 = '0', poll_votes_8 = '0',
- poll_votes_9 = '0'");
- }
- ?>
Edit: har ryddet lidt op i koden...
Indlæg senest redigeret d. 15.09.2010 22:03 af Bruger #7662