Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kategorije u 3 dubine

[es] :: PHP :: Smarty template engine :: Kategorije u 3 dubine

[ Pregleda: 5328 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
93.86.250.*



+25 Profil

icon Kategorije u 3 dubine11.12.2009. u 11:56 - pre 174 meseci
Evo, ja sam imao bio probleme da napravim ovo i kad sam napravio, ajd reko da okacim, mozda nekom zatreba.
Uz vrlo malo prerade oko smarty dela, uz neki while, moze da se uradi na beskonacno mnogo nivoa... Ako budem imao potrebe i za tim, definitivno cu uraditi ;)

Tabela ima 3 polja - id, namei parent_id (id roditelja)

Upit ka bazi
Code:
    SELECT *,
    (SELECT COUNT(*) FROM categories AS c2 WHERE c2.parent_id=c1.id) 
        AS childs
    FROM categories AS c1 ORDER BY name ASC;


Tabela koja se dobija
Code:
+----+-------------------+-----------+--------+
| id | name              | parent_id | childs |
+----+-------------------+-----------+--------+
| 23 | .Co.Yu            |        17 |      0 |
| 22 | .COM              |        17 |      0 |
| 24 | .in.RS            |        17 |      0 |
| 25 | .org.rs           |        17 |      0 |
| 21 | .RS               |        17 |      0 |
|  7 | 5.1               |         5 |      0 |
|  8 | 7.1               |         5 |      0 |
|  3 | Automobili        |         1 |      3 |
|  1 | Automoto          |      NULL |      2 |
| 19 | CPU               |        16 |      0 |
| 17 | Domeni            |        14 |      5 |
|  5 | DVD Plejeri       |         2 |      3 |
|  2 | Elektronika       |      NULL |      2 |
| 12 | Ford              |         3 |      0 |
| 20 | Graficka          |        16 |      0 |
| 18 | HDD               |        16 |      0 |
| 16 | Komponente        |        14 |      3 |
| 15 | Konfiguracije     |        14 |      0 |
|  4 | Moto-cikli        |         1 |      1 |
|  6 | MP3 Plejeri       |         2 |      0 |
| 13 | Preko 1300ccm     |         3 |      0 |
| 14 | Racunari i oprema |      NULL |      3 |
| 10 | Yamahe            |         4 |      0 |
| 11 | Yugo              |         3 |      0 |
+----+-------------------+-----------+--------+


Ovo 'childs' moze da koristi da se proveri u smarty da li je TRUE (vece od 0) tj. da li ima 'dece' pa ukoliko ima, da se ne dozvoli korisniku ... sta god.


Smarty Part :

Code:

{section name=lvl_1 loop=$categories} 
{if !$categories[lvl_1].parent_id} 
{$categories[lvl_1].name}<option disabled="disabled" class='parentcategory'>{$categories[lvl_1].name}</option><br />
    {section name=lvl_2 loop=$categories} 
    {if $categories[lvl_2].parent_id==$categories[lvl_1].id}
    --{$categories[lvl_2].name}<br />
        {section name=lvl_3 loop=$categories} 
        {if $categories[lvl_3].parent_id==$categories[lvl_2].id}
    ----{$categories[lvl_3].name}<br />
        {/if} 
        {/section}
    {/if} 
    {/section} 
{/if} 
{/section}



Output
Code:
AutomotoAutomoto
--Automobili
----Ford
----Preko 1300ccm
----Yugo
--Moto-cikli
----Yamahe
ElektronikaElektronika
--DVD Plejeri
----5.1
----7.1
--MP3 Plejeri
Racunari i opremaRacunari i oprema
--Domeni
----.Co.Yu
----.COM
----.in.RS
----.org.rs
----.RS
--Komponente
----CPU
----Graficka
----HDD
--Konfiguracije




I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
91.148.95.*



+13 Profil

icon Re: Kategorije u 3 dubine14.12.2009. u 09:44 - pre 173 meseci
Baci pogled na ovaj link:

http://dev.mysql.com/tech-reso...rticles/hierarchical-data.html

:-)
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
85.222.163.*



+25 Profil

icon Re: Kategorije u 3 dubine21.12.2009. u 16:13 - pre 173 meseci
Znam... odlepio sam kad sam to video... samo sam rekao - NE :D
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.rs.



+3 Profil

icon Re: Kategorije u 3 dubine08.01.2010. u 06:48 - pre 173 meseci
Zasto?
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
109.93.48.*



+218 Profil

icon Re: Kategorije u 3 dubine03.02.2010. u 16:29 - pre 172 meseci
Dosta dugo sam radio ovako ali mi palo na pamet da proba, da imam tabelu sa grupama i tabelu sa vezama izmedju grupa.
id|name i id|parent_id - sto mi se kasnije isplatilo kod raznih searchova po grupama i unutar grupa jer su SQL-ovi bili mnogo jednostavniji i pregledniji a samim tim veliki SQL-ovi su postali brzi.

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

[es] :: PHP :: Smarty template engine :: Kategorije u 3 dubine

[ Pregleda: 5328 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.