IT NEWS PC REVUE PC FORUMInternet time: @509
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

inhodinky.sk, hodinky pre Vás

Excelentné hodinky, excelentné ceny Širkoký výber značkových hodiniek www.inhodinky.sk

Hodinky - zásielkový predaj

Už o 2 dni môžete mať hodinky na Vašej ruke! CASIO, SEIKO, LORUS, 4YOU. www.casallia.sk

Novinka Nivea Sun

Maximálna ochrana citlivej detskej pokožky. Bez parfémov a farbív! Nivea.sk

Potrebujete hotovosť ?

Jednoduché, výhodné a rýchle pôžičky od spoločnosti Profi Credit! www.proficredit.sk

Hry - obchod ProGamingShop.sk

Obrovský výber hier na PC a konzoly za neskutočne nízke ceny. Skladom. www.progamingshop.sk

Ako optimalizovat vykon triedy

Zaslať odpoveď
AutorSpráva
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: St 25.08.10 14:16Odpovedať s citátomNávrat hore

Mám takéto zadanie:
citácia:
2.)
v tejto časti, je Vašou úlohou optimalizovať výkon triedy Catalog,
navrhnite a implementujte podľa Vás najefektívnejší spôsob optimalizácie
popíšte v skratke čo je cieľom optimalizácie, a prečo ste sa rozhodli pre Vaše riešenie


Trieda Catalog je hotová, ale nechápem, čo a myslí pod tou optimalizáciou. Nevie niekto čo asi odo mňa chcú???
Týka sa to rýchlosti, alebo mám pridať nejaké funkcie??
Totiž skúsim kontaktovať aj zadávateľa, ale je už po pracovnej dobe a do zajtra to má byť hotové, tak neviem...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3715
Bydlisko: Bratislava
Vek: 26

PríspevokZaslal: St 25.08.10 14:35Odpovedať s citátomNávrat hore

predpokladam, ze si za to plateny, takze by si mal vediet, co od teba chcu... nabuduce to pojde rovno do kosa!

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: St 25.08.10 14:36Odpovedať s citátomNávrat hore

Nie som, týka sa to výberového procesu a toto je všetko čo som k tomu dostal.
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3715
Bydlisko: Bratislava
Vek: 26

PríspevokZaslal: St 25.08.10 14:42Odpovedať s citátomNávrat hore

my ti mame poradit a ty to potom odovzdas ako vlastne riesenie? trosku blbe nie? neber to pls osobne, ale ked nevies, co je to optimalizacia a ako ju aplikovat, tak sa zbytocne namahas...

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: St 25.08.10 14:48Odpovedať s citátomNávrat hore

No dobre, tak sa teda zbytočne namáham a teda mi aspoň poraď, kde sa o tom niečo dozviem, aby som sa nenamáhal zbytočne nabudúce.

EDIT:
Tak som našiel toto: http://interval.cz/clanky/usetrete-az-80-datoveho-prenosu/
Ale mám s tým jeden problém. Nemôžem použiť ob_start("ob_gzhandler")
Vypisuje mi to, že používam nepovolené kódovanie. Pritom by tá funkcia mala zabepečovať práve to, aby to browser dokázal rozbaliť.
Tak zatiaľ som to dal bez toho gzipu.
Bude to mať nejaký význam z hľadiska optimalizácie??

PS: Myslím si, že moje úsilie je adekvátne a o žiadne hotové riešenia tu nikoho nežiadam... resp. každú otázku na tomto fóre je možné chápať ako snahu o zneužitie cudzích vedomostí...

EDIT2

Há tak som zistil, že to vplyv mať nebude. Je mi to na prd. ako som zistil ob_gzhandler mi nefungoval, preto, že mi server gzipuje automaticky a ja som to gzipoval dva krát, čo bolo aj pre FF priveľa.
Len nechápem zmysel tejto komunikácie...
Kde by som sa len dozvedel niečo o optimalizovaní, keď už ani google, ani kniha a ani na fóre mi nikto nič nepovie...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
vladivlad
Užívateľ
Užívateľ

Založený: 18.05.2010
Príspevky: 10

PríspevokZaslal: Št 26.08.10 18:40Odpovedať s citátomNávrat hore

to Stenley:
si sice moderator, ale otazka to bola v pohode.
forum je o pomahani, ak vies porad, ak nie zbytocne nespamuj.

a k tejto tvojej vete:
stenley napísal:
my ti mame poradit a ty to potom odovzdas ako vlastne riesenie? trosku blbe nie? neber to pls osobne, ale ked nevies, co je to optimalizacia a ako ju aplikovat, tak sa zbytocne namahas...


o tom su rady, clovek sa uci kazdym dnom a ked nieco neviem cita a pyta sa urobi si vlastny zaver a spravi potom vlastne riesenie. je to standardne a vsade.

je tu x ludi co robi projekty, webaplikacie alebo v praci ma robotu a nevie si poradit a tu sa spyta (a v praci je za to plateny)

camo nvm ci si na nieco prisiel, ale uz mas po funuse, tak snad si to zmakol.
GL (good luck)

//mne ucel fora vysvetlovat nemusis, som tu dost dlho na to, aby som to vedel... takisto o spamovani by som na tvojom mieste radsej pomlcal... moja reakcia bola preto taka, lebo ma zarazilo, ze sa hlasi do nejakeho vyberoveho konania, a pritom nema ponatia o zakladnych veciach... je tu jedno pravidla, ktore sa tyka vypracovavania domacich uloh a toto ma velmi podobny charakter... (stenley)
Zobraziť informácie o autoroviOdoslať súkromnú správu
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Št 26.08.10 19:25Odpovedať s citátomNávrat hore

mozno by pomohlo keby Camo najprv napisal co je trieda Catalog , naco sluzi, ako pracuje ...
Zobraziť informácie o autoroviOdoslať súkromnú správu
vladivlad
Užívateľ
Užívateľ

Založený: 18.05.2010
Príspevky: 10

PríspevokZaslal: Št 26.08.10 21:35Odpovedať s citátomNávrat hore

to ano
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Št 26.08.10 22:21Odpovedať s citátomNávrat hore

Stenley:
A čo mi uniklo ohľadom tej mojej dilemy, že vlastne každá otázka na tomto fóre je potenciálne zneužitie cudzích vedomostí. To že pravidlá tu sú neznamená, že nie sú zlé. A ako som napísal, ja tu od nikoho nežiadam hotové riešenia...

//dolezita je forma, akou otazku podas - ak toto budes ovladat, nebudes mat problem (stenley)

To all:
Keďže už to nespadá pod zákony tohoto fóra, dám vám sem to zadanie, ak sa na to bude chcieť niekomu pozrieť:

Takže mám txt súbor:
kód:
-TV, audio, video
--LCD televízory
---JVC
---LG
---Panasonic
---Philips
---Samsung
---Sony
--LED televízory
--Plazmové televízory
--Satelitná technika
--Domáce kiná
--Hifi systémy
--Prehrávače
---Blu-ray prehrávače
---DVD prehrávače
---DVD prenosné prehrávače
-Veľké spotrebiče
--Práčky
--Sušičky
--Chladničky
---voľne stojace
---vstavané
---prenosné
--Sporáky
-Malé spotrebiče
--Vysávače
---podlahové
---stojanové
---parné
---ručné
--Žehličky
--Fritézy
--Rýchlovarné kanvice

K tomu som mal urobit triedu, ktorá z toho spraví klikatelné menu s dorazom na tzv. hygienu kódu, preto tam bude kopa bielych znakov.
Tvar URL si nevšímajte to bola požiadavka, alebo som ja niečo nepochopil.
Vyrobil som toto(dufam že sa to bude dať u vás čítať s tými komentármi):
kód:
<?php
class Catalog
{
public function render()
{
$source=file('sourcedata.txt');
$priznakLevel=0;                  //  urcuje uroven polozky v strukture menu
$anchor='';                       //  format atr. href v tagu <a>
echo "<ul>\n";
foreach($source as $item)
       {
        $item=trim($item);                   //  zdroj obsahuje zalomenia riadkov \n ktore treba odstranit
        if(preg_match("/^-(?!-)/",$item))                   //  zistuje sa ci sa jedna o polozku prvej urovne
          {
             if($priznakLevel==2) echo "\t</ul></li>\n";                        // ak je pred polozkou jeden vnoreny zoznam <ul> z predoslej polozky treba ho ukoncit
           if($priznakLevel==3) echo "\t\t</ul></li>\n\t</ul></li>\n";          // ak su pred polozkou dva vnorene zozonamy <ul> treba ich ukoncit
           $cleanItem=str_replace('-','',$item);                                //  odstranenie znaku -
           $anchor="/".$cleanItem;                                              //  vytvorenie atr. href pre taf <a>
           echo "<li><a href=\"$anchor\">$cleanItem</a>\n";
           $priznakLevel=1;                                                     //  oznacenie urovne pre potrebu dalsieho cyklu v suvislosti s ukoncovanim vnorenych zoznamov
           continue;                                                            //  odpada kontrola nasledujucich podmienok
          }
         if(preg_match("/^--(?!-)/",$item))                  //  zistuje sa ci sa jedna o polozku druhej urovne
          {
             if($priznakLevel==1) echo "\t<ul>\n";                 //  ak sa jedna o zaciatok vnoreneho zoznamu tj. este nebola nastavene prem. $priznakLev=2 prechadzame z urovne 1 na 2
           if($priznakLevel==3) echo "\t\t</ul></li>\n";
           $cleanItem=str_replace('--','',$item);
           $anchorLev2=$anchor."/".$cleanItem;                          //  $anchorLev2 je pouzita preto, aby sa neprepisala premenna $anchor z ktorej vychadzame pri polozkach 2. urovne
             echo "\t<li><a href=\"$anchorLev2\">$cleanItem</a>\n";
           $priznakLevel=2;                                             //  pre potreby dlasie cyklu v suvislosti s ukoncovanim vnorenych zoznamov
           continue;
          }
        if(preg_match("/^---(?!-)/",$item))                  //  zistuje ci sa jedna o polozku 3. urovne
          {
             if($priznakLevel==2) echo "\t\t<ul>\n";                //  ak sa jenda o zaciatok  vnoreneho zoznamu prechod z urovne 2 na 3
           $cleanItem=str_replace('---','',$item);
             $anchorLev3=$anchorLev2."/".$cleanItem;
           echo "\t\t<li><a href=\"$anchorLev3\">$cleanItem</a></li>\n";
           $priznakLevel=3;
          }
       }
if($priznakLevel==1) echo "</ul>\n";                                    //  ukoncovanie podla aktualnej urovne
if($priznakLevel==2) echo "\t</ul></li>\n</ul>\n";                      //  - " -
if($priznakLevel==3) echo "\t\t</ul></li>\n</ul></li>\n</ul>\n";        //  - " -
}
}
?>

No a oni v druhej úlohe chceli, aby som zvýšil výkon triedy.
Dali k tomu takú indíciu, ako že aby som implementoval rozhranie(to už bolo nad môj pochop):
kód:
<?php

interface ICatalog {
                               
    /**
     * Loads config data.
     * @param  string path to config file
     */
    public function load($cfg);

    /**
     * Renders html menu.
     */
    public function render();

}

?>

Vie mi niekto povedať, čo tým mysleli??
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
walther
Užívateľ
Užívateľ

Založený: 24.01.2008
Príspevky: 9709
Bydlisko: Bratislava
Vek: 24

PríspevokZaslal: Št 26.08.10 22:33Odpovedať s citátomNávrat hore

si si istý, že tým mysleli "zvýšiť výkon implementovaním rozhrania"? neviem o tom, že by pri použití interface-u došlo k nárastu výkonu optimalizácia nemusí vždy znamenať len "zvýšenie rýchlosti" interface je len akoby "šablóna" triedy

inak ešte k tomu kódu - toto je CELÁ trieda?
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Št 26.08.10 22:52Odpovedať s citátomNávrat hore

citácia:
si si istý, že tým mysleli "zvýšiť výkon implementovaním rozhrania"?

Asi si nepochopil...
Ja som si práve nebol istý. Ja som sa tu pýtal či neviete, čo tým mysleli, nie že SI JA NIEČO MYSLÍM! Podľa môjho skromného názoru(na rozdiel od toho tvojho)by sa na také veci nemusela používať trieda. Takže tvoje úškrny mi akurát tak lezú na nervy... NAČO REAGUJEŠ?!?! Aby si ukázal aký si ty múdry? To moc múdre neni a ak to bude pokračovať tak ten ban zariskujem a vysvetlím to podrobnejšie...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
walther
Užívateľ
Užívateľ

Založený: 24.01.2008
Príspevky: 9709
Bydlisko: Bratislava
Vek: 24

PríspevokZaslal: Št 26.08.10 23:01Odpovedať s citátomNávrat hore

reagoval som na toto:
citácia:

No a oni v druhej úlohe chceli, aby som zvýšil výkon triedy.
Dali k tomu takú indíciu, ako že aby som implementoval rozhranie

z tohto mi vyplýva, že buď ti to takto povedali alebo si to tak pochopil ty. Zaujímalo ma, či ti to už priblížili (interface si v prvom príspevku nespomínal). Nemám v úmysle sa hádať a ak si to tak z môjho príspevku pochopil, tak sa ti ospravedlňujem. Narozdiel od iných nemám problém diskutovať...

to, či na toto treba alebo netreba používať triedu... v tomto s tebou súhlasím, na rozparsovanie jedného txt súboru v php je to asi zbytočné. Pokiaľ je tebou uvedený príklad celé znenie triedy tak je to samozrejme oničom a rýchlejšie by bolo v porovnaní s tým urobiť len obyčajnú funkciu.

+ reagujem preto, aby som vyjadril svoj názor a prípadne aj pomohol. Ak to nie je vítané, stačí povedať, nabudúce keď uvidím že si založil tému ty, nechám to tak. Nepotrebujem sa tu s nikým doťahovať.
Zobraziť informácie o autoroviOdoslať súkromnú správu
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3715
Bydlisko: Bratislava
Vek: 26

PríspevokZaslal: Pi 27.08.10 7:07Odpovedať s citátomNávrat hore

ako tak pozeram na metodu render(), tak by bolo najlepsie, keby si ju prerobil a spravil poriadne, lebo toto mi ako citatelny kod, navyse s dorazom na prehladnost a univerzalnost, nepripada... napr. co spravi tvoj kod, ked pribudne dalsia uroven v menu? treba obcas rozmyslat aj algoritmicky, a nie sa bezhlavo hnat do programovania za kazdu cenu, vysledkom coho je vacsinou jeden velky bordel, podobne ako v tvojom pripade...

naznacili ti, ake metody mas zhruba pouzit, ale ty nie, ty to strcis do jednej, aby sa pre isotu nedala pouzit na iny subor, v ktorom moze byt ulozena ina struktura menu - aj o tom je optimalizacia, univerzalnost, znovupouzitelnost, ktore tvojmu kodu nie len ze chybaju, ale ty si ich tam naschval nezahrnul...

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 927

PríspevokZaslal: Pi 27.08.10 7:30Odpovedať s citátomNávrat hore

no tiez sa priklanam k stenley-mu , ten kod je dost neprehladny a neuniverzalny. tiez interface definuje dalsiu povinnu metodu "load($cfg)" ktoru nemas vo svojom kode. tvoja trieda by mala byt implementaciou predpisaneho interface. samozrejme ja osobne by som do triedy zapracoval dalsie privatne metody ktore by riesili ciastkove ulohy. napr :
kód:

class Catalog implements ICatalog {
   

    public function load($cfg) {
    ... tu by som riesil nacitanie suboru s definiciou menu
    }

    public function render() {
    ... tu by som riesil vyskladavanie html codu
    }

    private function gelLevel($riadok) {
      return strcspn($riadok,"-"); -- vrati pocet znakov "-" cize urci level
    }
...

}


toto brat iba ako vseobecny pohlad , na presnu spravnost syntaxe nepozerat !
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1185
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 27.08.10 10:53Odpovedať s citátomNávrat hore

Takto vy kritici:
Toto čo tu je, je úloha číslo jedna. Tam nič viac mať nechceli.
Úloha dva bola optimalizovať a tam som samozrejme pridal voliteľný parameter ktorý umožní Stenleymu aj Coldakovi načítať iný súbor.

Inak mi prosím vás skúste niekto vysvetliť, že čo je na tej funkcii neprehľadné???

No a pekne sa z toho vyvliekol coldak: ,,toto brat iba ako vseobecny pohlad , na presnu spravnost syntaxe nepozerat !,,

Priznávam, ak funkcia strcspn() robí to čo myslím, tak to je lepšie riešenie.
Ale skôr to ma asi byť strspn()...
No ale neviem pochopiť načo je tam funkcia load()(podľa coldaka) dobrá. Načo je tam proste definícia tejto metódy, ktorá urobí to, čo musí urobiť vždy, teda podľa mňa by mala byť súčasťou metódy render().

Predpokladám že getLevel() je volaná z metódy render(). Tak?? Však ako inak, keď je privat.

Aby vaše zhrozenie bolo dokonalé, tak vám ukážem ako som úlohu2 poňal ja:
kód:
<?php
/*
**
Priznavam, ze vasu myslienku implementacie rozhrania som nepochopil.
Navrhol som vlastne zdokonalenie triedy Catalog:
V povodnej triede Catalog bola vymenena funkcia preg_match za retazcovu funkciu strpos
Kontrola 3. urovne bola presunuta na zaciatok pretoze funkcia strpos by nerozoznala pocet "-" v retazci a aj 3.uroven by pokladla za prvu prip. druhu uroven
Kod by mal byt rychlejsi, ale stratil na prehladnosti
Pridany volitelny parameter $source metode Arender
**
*/
class ACatalog
{
public function Arender($source)
{
$source=file($source);
$priznakLevel=0;                  //  urcuje uroven polozky v strukture menu
$anchor='';                       //  format atr. href v tagu <a>
echo "<ul>\n";
foreach($source as $item)
       {
        $item=trim($item);                    //  zdroj obsahuje zalomenia riadkov \n ktore treba odstranit
        if(strpos($item,'---')===0)                  //  zistuje ci sa jedna o polozku 3. urovne  (0==false preto ===)
          {
             if($priznakLevel==2) echo "\t\t<ul>\n";                //  ak sa jenda o zaciatok  vnoreneho zoznamu tj. prechod z urovne 2 na 3
           $cleanItem=str_replace('---','',$item);
             $anchorLev3=$anchorLev2."/".$cleanItem;
           echo "\t\t<li><a href=\"$anchorLev3\">$cleanItem</a></li>\n";
           $priznakLevel=3;                                                        //  pre potreby dalsieho cyklu v suvislosti s ukoncovanim vnorenych zoznamov
           continue;                         // odpada kontrola ostatnych podmienok
          }
        if(strpos($item,'--')===0)                  //  zistuje sa ci sa jedna o polozku druhej urovne
          {
             if($priznakLevel==1) echo "\t<ul>\n";                 //  ak sa jedna o zaciatok vnoreneho zoznamu tj. este nebola nastavene prem. $priznakLev=2 tj. prechadzame z urovne 1 na 2
           if($priznakLevel==3) echo "\t\t</ul></li>\n";           //  prechadzame z urovne 3. na 2.
           $cleanItem=str_replace('--','',$item);
           $anchorLev2=$anchor."/".$cleanItem;                          //  $anchorLev2 je pouzita preto, aby sa neprepisala premenna $anchor z ktorej vychadzame pri polozkach 2. urovne
             echo "\t<li><a href=\"$anchorLev2\">$cleanItem</a>\n";
           $priznakLevel=2;
           continue;
          }
        if(strpos($item,'-')===0)                   //  zistuje sa ci sa jedna o polozku prvej urovne
          {
             if($priznakLevel==2) echo "\t</ul></li>\n";                        // ak je pred polozkou jeden vnoreny zoznam <ul> z predoslej polozky treba ho ukoncit
           if($priznakLevel==3) echo "\t\t</ul></li>\n\t</ul></li>\n";          // ak su pred polozkou dva vnorene zozonamy <ul> treba ich ukoncit
           $cleanItem=str_replace('-','',$item);                                //  odstranenie znaku -
           $anchor="/".$cleanItem;                                              //  vytvorenie atr. href pre taf <a>
           echo "<li><a href=\"$anchor\">$cleanItem</a>\n";
           $priznakLevel=1;                                                     //  oznacenie urovne pre potrebu dalsieho cyklu v suvislosti s ukoncovanim vnorenych zoznamov
          }


       }
if($priznakLevel==1) echo "</ul>\n";                                    //  ukoncovanie podla aktualnej urovne
if($priznakLevel==2) echo "\t</ul></li>\n</ul>\n";                      //  - " -
if($priznakLevel==3) echo "\t\t</ul></li>\n</ul></li>\n</ul>\n";        //  - " -
}
}
?>
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
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.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF