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

Molim vase misljenje o DB koju sam kreirao za shoping cart

[es] :: MySQL :: Molim vase misljenje o DB koju sam kreirao za shoping cart

[ Pregleda: 2493 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vladimirn
Vladimir Nikolic
Novi Sad

Član broj: 38585
Poruke: 81
*.static.sbb.co.yu.



Profil

icon Molim vase misljenje o DB koju sam kreirao za shoping cart29.11.2007. u 14:55 - pre 200 meseci
Svi predlozi, pohvale, kritike su dobrodosle :)

Table category:
_________________________________
|catID | catParent | catName
_________________________________
1----------0------ Knjizevnost
2----------1------ Strana knjizevnost
3----------2------ Romani
###########################

Table items:
____________________
itemID | itemName
____________________
1--------Peto dete
################

Table items_category
______________________
catID | itemID | itemType
______________________
3---------1---------2
##################



Table itemTypes
____________________
typeID | typeName
____________________
1--------Brajeve knjige
2--------CD izdanje
3--------Kaseta
################

elem, jedna knjiga moze spadati u vise kategorija i moze se pojavljivati u vise tipova- kao CD, kao kaseta ili knjiga...
Da li sam dobro napravio bazu? Kako bi vi to uradili?


Heh, upravo sam naleteo na problem.
npr ako kliknem na Knjizevnost hocu da mi se izlista sve sto je ispod te kategorije. Sama kategorija knjizevnost nema u sebi nijednu knjigu. Kategorija Strana knjizevnost , kao i kategorija DOmaca knjizevnost, takodje nemaju nijednu knjigu. Ali kategorija ROmani koja se nalazi ispod njih ima u sebi knjigu Peto Dete. Kako da izvucem path do njih da bih mogao da isprintam putanju: Knjizevnost->Strana Knjizevnost->Romani->Peto dete.
Drugi problem je da knjiga Peto dete moze biti i u sva tru tipa knjiga- Brajeve knjige, kasete i CD izdanja.
Treci problem :)
Kako da izlistam knjige koje se nalaze ispod kategorije Knjizevnost?

[Ovu poruku je menjao vladimirn dana 29.11.2007. u 16:37 GMT+1]

Kada zelim da ubacim knjigu, napravio sam sledece, odnosno ispisacu niz kakav ja dobijem i sa kojim ne znam bas sta da radim :0)
Code:

Array// pocetak niza
(
    [a] => addItem // akcija
    [type] => Array //ovo je niz sa tipovima knjiga
        (
            [0] => 1 //brajeve knjige
            [1] => 2 //kasete
            [2] => 3 //cd izdanja
        )

    [categorie] => Array //niz sa katgorijama
        (
            [0] => 1 //Knjizevnost
            [1] => 9 //Strana Knjizevnost
            [2] => 11 //Romani
        )

    [productName] => Peto dete //naslov knjige
    [productAutor] => Doris Lesing //ime autora
    [productDesc] => \"Peto dete\" je kratka, ali efektna opora knjiga, koja zaista pokazuje kako pisac može ozbiljno ući i u slojevitu društvenu tematiku. //opis knjige
    [Submit] => Add Product // submit dugme
)


[Ovu poruku je menjao vladimirn dana 29.11.2007. u 17:13 GMT+1]

[Ovu poruku je menjao vladimirn dana 29.11.2007. u 17:15 GMT+1]
 
Odgovor na temu

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
195.46.55.*



+80 Profil

icon Re: Molim vase misljenje o DB koju sam kreirao za shoping cart30.11.2007. u 08:15 - pre 200 meseci
Što se tiče problema sa stablom, ima fora koja nije baš najkorektnija teorijski, ali u praksi odlično radi posao. Id kategorije neka bude neki dugačak string. U njemu onda možeš da pamtiš celu putanju. Znači, recimo :

1 književnost
11 strana književnost
111 strani romani
12 domaća književnost
itd.
Naravno, imaš ograničenje, prvo što se tiče broja potkategorija unutar jedne kategorije (ako ceniš da ih može biti više od 10 odvojićeš više cifara, ili ćeš koristiti slovne oznake, ili...), i drugo na temu dubine hijerarhije. Ali, falabogu, varchar polja mogu da budu baš široka, a i ti verovatno nećeš imati neznamkolko kategorija u stablu, tako da ćeš se lako izvući.
A filtriranje po kategoriji se svodi na
Code:
catId like '11%'
:) za stranu književnost recimo.

Drugi problem si, kolko vidim, rešio. Imaš tabelu items_category, i u njoj možeš za jednu "knjigu" da imaš više zapisa.

Treći problem je, valjda, isto što i prvi.
it works on my machine
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: Molim vase misljenje o DB koju sam kreirao za shoping cart03.12.2007. u 07:32 - pre 200 meseci
Ja sam to radio tako što učitam sve kategorije u niz (samo dva polja: id, parent), pa iz aplikacije analiziram koji su sve id-ovi ispod zadatog (rekurzija ili petlja), sve to poređam u niz i spojim u string sa zarezima (CSV), i zatražim SELECT ... items, items_category ... WHERE CatID IN ($IdsNiz);
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Fitopatolog
Dušan Marjanov
Novi Sad

Član broj: 90936
Poruke: 683
77.46.177.*



+3 Profil

icon Re: Molim vase misljenje o DB koju sam kreirao za shoping cart15.12.2007. u 19:59 - pre 199 meseci
Zgodan način za pregledanje stabla je rekurzija. U tom slučaju se ima potpuna kontrola tako da se stablo može listati po dubini - sleva nadesno (i obrnuto), ili po nivoima.
 
Odgovor na temu

[es] :: MySQL :: Molim vase misljenje o DB koju sam kreirao za shoping cart

[ Pregleda: 2493 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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