Something about everything…

Count-up timer (PHP) | brojač

Pokušavajući pronaći jednostavan PHP brojač za jedan moj mali projekt – sve više je nalikovalo na nemoguć zadatak. Brojaču se trebao zadati datum i on bi od njega računao što bi se već zadalo – koliko je sekundi/dana/mjeseci/godina/… prošlo od toga (zadanog) dana. Sve se naplaćivalo, sve je bilo vrlo opširno i/ili šlampavo napisano. Srećom, pronašao sam slijedeći dio koda kojeg ću ukratko i pojasniti.

<?php
$start = "January 1, 1990"; // definiramo pocetni datum
$sada = strtotime ("now"); // varijabli "sada" dodjeljujemo trenutno vrijeme
$onda = strtotime ("$start"); // varijabli "onda" dodjeljujemo varijablu "start" tj. pocetni datum
$razlika = $sada - $onda ; // izracunavamo razliku izmedu "sada" i "onda"
$num = $razlika/86400; // dijelimo tu razliku sa 86400 kako bi dobili rezultat u danima, a ne u sekundama
$num2 = ($num/365); // dijelimo broj dana sa 365 kako bi dobili godine
$godina = intval($num2); // zaokruzujemo godine pomocu operatora intval
$num3 = ($num - (intval($num2)*365)); // od ukupnog broja dana oduzimamo umnozak godina koje su prosle pomnozene sa brojem dana
$mjeseci = intval($num3/30); // zaokruzujemo broj tj. mjesece
?>
<p>Prošlo je <? echo $godina ?> godina i <? echo $mjeseci ?> mjeseci.</p>

Brojač započinje definirianjem početne varijable $start – izražava se datumom u striktno zadanom formatu (obliku) – “mjesec dan, godina”. Definirate datum od kojeg će brojač početi brojiti. U našem slučaju to je 1.1.1990. Zatim varijabli $sada dodjeljujemo sadašnji (trenutni) datum i vrijeme. Varijabli $onda dodjeljujemo varijablu $start (koju smo, podsjetimo se, postavili na početni datum). Zatim dva ključna reda – $razlika izračunava razliku između $sada i $onda – u sekundama!

Nakon što smo izračunali razliku zbog potrebe za godinama i mjesecima podijelimo sekunde sa 86400 (broj sekundi u jednom danu = 60 sekunda * 60 minuta * 24 sata) te dobimo izračun u danima. Taj broj dodijelimo varijabli $num.

Sada iz te varijable $num u kojoj su pohranjeni dani jednostavno čupamo van što nam treba i dijelimo/množimo kako bi dobili željeni vremenski period. Što to znači? Pod $num2 smo podijelili dane sa 365 kako bi dobili godine, a kod $num3 smo od ukupnog broja dana oduzeli umnožak godina i broja dana u godini kako bi nam ostali samo – mjeseci. Kod konačnih varijabli $godina i $mjeseci koristimo PHP operator intval koji – zaokružuje brojeve.

Kako to izgleda u praksi – možete pogledati na linku – Count-Up timer (PHP) gdje sam i dodao kako svaka varijabla izgleda uživo.

  • Google Bookmarks
  • Digg
  • Facebook
  • LinkedIn
  • Twitter
  • del.icio.us
  • RSS

Ovo bi te još moglo zanimati...

  • Nema sličnih postova.

If you are interested in colon cleanse, you may want to check out this colon cleanse information page which will have all the free information you'll need about colon cleanse.

Ostavi komentar...


copyright © 2010 svebee | Wordpress | RSS Feed | Sitemap