Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
moj kod kalendara + vase nazory

Registrovaný: 11.02.09
Prihlásený: 28.03.23
Príspevky: 2208
Témy: 145
Bydlisko: Liptovský M...
Príspevok NapísalOffline : 14.03.2009 15:01

Zdravim, dovolil som si zabrat viac miesta, aby som vam ukazal moj kod kalendara v php. Povodne som cital navod na http://www.linuxsoft.cz/article.php?id_article=206 ale tam autor pouzil algoritmus ktory som nepochopil na 100%. Autor zistuje ci je rok prechodny, ci patry prechodovi tyzden medzi rokmi do tohto roku alebo minuleho, vypisuje tabulku po riadkoch pricom kalendar je stavany po stlpcoch a ine sialenosti. Tak som skusil spravit vlastny algoritmus, ku ktoremu mam par otazok. Funguje pomocou dvojrozmerneho pola ktore sa zadava po stlpcoch a vypisuje po riadkoch (aby bolo mozne vyplnit tabulku). Tu je:
Kód:
<?php
  $mesiac=date("m");$rok=date("Y");                   //zistenie mesiaca a roka
  $prvyDen=date("w",mktime(0,0,0,$mesiac,1,$rok));    //ktorym dnom zacina mesiac, marec 2009 zacina nedelov cize 7. dnom
     if ($prvyDen==0) $prvyDen=7;                     //nedela je 0. den, cize podmienka zabezpeci aby bol 7.
  $pocetDni=date("t",mktime(0,0,0,$mesiac,1,$rok));   //pocet dni v mesiaci
  $pocetStlpcov=ceil(($pocetDni+$prvyDen-1)/7);       //kolko stlpcov bude kalendar potrebovat, bud 4,5 alebo 6
  $cislo=0;                                           //pomocou inkremetacie tohto cisla sa vyplna pole kalendara
  $pole[$pocetStlpcov-1][7-1];                        //pole kalendara
  $month=Array(1=>"Januar","Februar","Marec","April","Maj","Jun","Jul","August","September","Oktober","December");
 
 for ($st=0; $st<$pocetStlpcov; $st++)  //cyklus pre vyplnenie formulara
  for ($ri=0; $ri<7; $ri++)             /*dni prveho tyzdna v kalendary ktore patria do minuleho mesiaca,takisto aj dni
                                          posledneho tyzdna patriace do dalsieho mesiaca sa vyplnia nulov */
      if ((($ri<$prvyDen-1)&&($st==0)) ||($cislo>=$pocetDni)) {$pole[$st][$ri]=0;}
        else {$cislo++; $pole[$st][$ri]=$cislo;}   //vyplnenie pola inkrementujucou prem. $cislo (od 1 do $pocetDni)

//hlavicka kalendara
echo "<TABLE border=\"1\" style=\"border-collapse:collapse\"><th height=\"30\" bgcolor=\"lightgray\" colspan=\"8\">".$month[(int)$mesiac]." ".date("Y")."</th> ";

//cyklus pre vypisanie tabulky, pole sa vypisuje opacne (po riadkoch, naplnane bolo po stlpcoch)
for ($ri=0;$ri<7; $ri++){ echo "<tr><td bgcolor=\"lightblue\">";  //riadky, farba prveho stlpca s dnami

                      //vyplnenie prveho stlpca tabulky nazvami dnov podla toho na ktorom riadku cyklus je           
                          if ($ri==0) echo "Pondelok";if ($ri==1) echo "Utorok";if ($ri==2) echo "Streda";
                          if ($ri==3) echo "Stvrtok";if ($ri==4) echo "Piatok";if ($ri==5) echo "Sobota";
                          if ($ri==6) echo "Nedela";echo "</td>";
    for ($st=0; $st<$pocetStlpcov; $st++) {           //vypise jednotlive bunky riadku
        echo "<td ";
        if ($pole[$st][$ri]==date("d")) echo "bgcolor=\"lightgray\" ";  //farba bunky s aktualnym datumom
        echo "style=\"text-align:center;width:22;height:25;\">";        //format buniek
        if ($pole[$st][$ri]==0) echo "&nbsp";        //vypise medzeru ak ma pole hodnotu 0
            else echo $pole[$st][$ri];               //inak vypise hodnotu pola (cislo dna - prem $cislo)
        echo"</td>";       }
  echo "</tr>";      }
echo "</table>"   ?>


Co si myslite ktory sposob je lepsi (hlavne rychlejsi pre server), moj alebo na tej stranke?

Je rychlejsi sposob zadat slovenske nazvy mesiacov do pola (pole $month) alebo vypisovat nazvy pomocou podmienky ako if ($ri==0) echo "Pondelok";if ($ri==1) echo "Utorok" ?

V hlavicke kalendara (tam kde sa vypisuje rok a mesiac) mam nastavenu farbu pozadia na sivu, Opera to zobrazuje dobre, pricom IE tam dava stale beznadejne modru. Cim to je?

Mne to trvalo dost dlho, 5 - 6 hodin s tym ze php som sa zacal ucit den pred tym. Len tak pre zaujimavost za kolko by ste to stihli vy?

Dakujem za vsetky nazory a odpovede ;)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 14.03.2009 15:16

1, to fakt neviem :) Fungujú obe a svojmu rozumieš ...
2, určite je pole lepšie, aspoň kvôli prehľadnosti
3, máš na lightgray. Po teste som zistil, že IE lightgray zrejme napozná, ale keď som dal inú farbu napr. green tak to fungovalo
4, neviem ... :) Okolo 40 min, ale sú dni kedy proste nič nejde, a dni kedy všetko ide a neviem prečo :D


Offline

Užívateľ
Užívateľ
moj kod kalendara + vase nazory

Registrovaný: 11.02.09
Prihlásený: 28.03.23
Príspevky: 2208
Témy: 145
Bydlisko: Liptovský M...
Príspevok Napísal autor témyOffline : 14.03.2009 15:27

to lightgray som si opravil, som skusal aj ine farby a pomylilo ma to ze ked v IE kliknem na okienko s adresov a stlacim enter aby sa mi stranka obnovila tak prdlajs sa obnovi :D iba ked kliknem na tu ikonku obnovit. aka haluz, potom ze co mi to nejde :D

Okrem toho k otazke 2, rad by som vedel co viac zatazi procesor lebo chcem robit hned od zaciatku usporne, aby som sa k tomu v buducnoti nemusel vracat a zvykat si na nieco ine (a aby som mal dobry pocit na dusi ze to robim co najlepsie)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 14.03.2009 15:40

Myslím, že tvoj kód procesor nezaťaži natoľko aby si to musel riešiť :D
Takže podľa mňa polia ...


Offline

Užívateľ
Užívateľ
moj kod kalendara + vase nazory

Registrovaný: 11.02.09
Prihlásený: 28.03.23
Príspevky: 2208
Témy: 145
Bydlisko: Liptovský M...
Príspevok Napísal autor témyOffline : 14.03.2009 15:52

viem len keby som robil s velkym mnozstvom udajov a velkymi cyklami tak aby som vedel co je lepsie.







_________________
"Only a warrior chooses pacifism, others are condemned to it."
- unknown author
Offline

Užívateľ
Užívateľ
moj kod kalendara + vase nazory

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 14.03.2009 16:01

Myslím, že pole je vždy úspornejšie riešenie jednak na výkon a tiež na veľkosť kódov. Predstav si že by si sa seba mal za každým pýtať nejakú otázku a podľa toho vyberať čo ďalej, namiesto toho, aby si vybral jednu z ponúkaných možností.


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Moj Imagehostin gMage - vaše názory

v Webdesign

14

1032

25.06.2008 9:08

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vase nazory

v Webdesign

16

1865

15.05.2008 21:51

neopagan Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Marihuana - Vase nazory + anketa

[ Choď na stránku:Choď na stránku: 1 ... 9, 10, 11 ]

v Spoločnosť, politika, psychológia, filozofia, náboženstvo

306

9928

19.06.2010 20:30

eXistenZ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vaše názory na zostavu

v PC zostavy

5

472

12.07.2011 12:23

Showman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. moja zostava - vaše názory

v PC zostavy

3

514

10.01.2015 14:41

Miso122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vase nazory na pc

v PC zostavy

12

638

05.09.2009 12:12

mimkork Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Upgrading zostavy - vaše názory, pripomienky

v PC zostavy

21

1786

02.04.2006 14:51

marzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bude to fungovat? Prosim o Vase nazory

v PHP, ASP

4

515

06.03.2018 17:12

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vaše názory a skúsenosti s elektronikou značky Hyundai...

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Ostatné

38

3677

11.03.2012 17:39

Disketa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zistenie webserveru, na ktorom beží môj kód

v Webhosting a servery

0

331

16.12.2017 1:38

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. koniec mayskeho kalendara

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Paranormálne javy a teórie

82

7619

27.02.2009 17:22

Craig Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako vylepšiť moj pc ale názor na môj procesor

v PC zostavy

5

797

15.02.2010 22:26

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. názory grafiky

v Grafické karty

11

452

15.11.2013 18:27

brmbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. penzion - nazory

v Webdesign

13

769

29.05.2008 21:10

dadmtb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zostava - Názory

v PC zostavy

13

684

04.08.2012 11:36

Daron Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nazory ,kontrola

v PC zostavy

27

1273

03.10.2008 20:05

TOM4S Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra