| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 11.02.09 Prihlásený: 28.03.23 Príspevky: 2208 Témy: 145 Bydlisko: Liptovský M... |
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 " "; //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
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
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
|
|
Registrovaný: 11.02.09 Prihlásený: 28.03.23 Príspevky: 2208 Témy: 145 Bydlisko: Liptovský M... |
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 iba ked kliknem na tu ikonku obnovit. aka haluz, potom ze co mi to nejde
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)
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
Myslím, že tvoj kód procesor nezaťaži natoľko aby si to musel riešiť
Takže podľa mňa polia ...
|
|
Registrovaný: 11.02.09 Prihlásený: 28.03.23 Príspevky: 2208 Témy: 145 Bydlisko: Liptovský M... |
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 |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 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í.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Moj Imagehostin gMage - vaše názory v Webdesign | 14 | 1032 | 25.06.2008 9:08 Tominator | | vase nazory v Webdesign | 16 | 1865 | 15.05.2008 21:51 neopagan | | Marihuana - Vase nazory + anketa [ 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 | | vaše názory na zostavu v PC zostavy | 5 | 472 | 12.07.2011 12:23 Showman | | moja zostava - vaše názory v PC zostavy | 3 | 514 | 10.01.2015 14:41 Miso122 | | vase nazory na pc v PC zostavy | 12 | 638 | 05.09.2009 12:12 mimkork | | Upgrading zostavy - vaše názory, pripomienky v PC zostavy | 21 | 1786 | 02.04.2006 14:51 marzo | | Bude to fungovat? Prosim o Vase nazory v PHP, ASP | 4 | 515 | 06.03.2018 17:12 BX | | Vaše názory a skúsenosti s elektronikou značky Hyundai... [ Choď na stránku: 1, 2 ] v Ostatné | 38 | 3677 | 11.03.2012 17:39 Disketa | | Zistenie webserveru, na ktorom beží môj kód v Webhosting a servery | 0 | 331 | 16.12.2017 1:38 martinius96 | | koniec mayskeho kalendara [ Choď na stránku: 1, 2, 3 ] v Paranormálne javy a teórie | 82 | 7619 | 27.02.2009 17:22 Craig | | ako vylepšiť moj pc ale názor na môj procesor v PC zostavy | 5 | 797 | 15.02.2010 22:26 Jaro | | názory grafiky v Grafické karty | 11 | 452 | 15.11.2013 18:27 brmbo | | penzion - nazory v Webdesign | 13 | 769 | 29.05.2008 21:10 dadmtb | | Zostava - Názory v PC zostavy | 13 | 684 | 04.08.2012 11:36 Daron | | nazory ,kontrola v PC zostavy | 27 | 1273 | 03.10.2008 20:05 TOM4S |
| 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
|
|