MySQL query problem...
4 отговора
182 прегледа
MySQL query problem...
Zdraveite
treniram se (enutsiast :)) s edno forumche. Tablicata e:
ID int(4) - primary key (ID na message)
RootID - Id na temata (glavnoto message)
ParentID - Id na message, na koito e otgovoreno s tekushtia message
celta e da polucha all messages po dadena tema, podredeni kakto sa tezi tuk (na clubs.dir.bg)
Opitah dosta neshta, v Net namerih razni rekursivni reshenia ot PHP strana (koeto e adski neefektivno).
Reshenie na problema v M$SQL ne e trudno da se napishe (ot pile mliako v SQL-a).
Ta pitam vi - "Moje li da se poluchi podredba na zapisite po ukazania nachin bez pomoshtta na dopylnitelna kolona?". Zashtoto mi mina prez glavata i ideiata za NextID i da si pazia svyrzan spisyk v tablicata, no pyk bez tranzakcii (a samo LOCK TABLES ne e mnogo sigurno) shte razchitam na kysmeta si samo :)
E, shte se radvam da chuia vasheto mnenie :)
Pozdravi
treniram se (enutsiast :)) s edno forumche. Tablicata e:
ID int(4) - primary key (ID na message)
RootID - Id na temata (glavnoto message)
ParentID - Id na message, na koito e otgovoreno s tekushtia message
celta e da polucha all messages po dadena tema, podredeni kakto sa tezi tuk (na clubs.dir.bg)
Opitah dosta neshta, v Net namerih razni rekursivni reshenia ot PHP strana (koeto e adski neefektivno).
Reshenie na problema v M$SQL ne e trudno da se napishe (ot pile mliako v SQL-a).
Ta pitam vi - "Moje li da se poluchi podredba na zapisite po ukazania nachin bez pomoshtta na dopylnitelna kolona?". Zashtoto mi mina prez glavata i ideiata za NextID i da si pazia svyrzan spisyk v tablicata, no pyk bez tranzakcii (a samo LOCK TABLES ne e mnogo sigurno) shte razchitam na kysmeta si samo :)
E, shte se radvam da chuia vasheto mnenie :)
Pozdravi
Re: MySQL query problem...
мм
не ми идва нищо на ум
освен ако направиш някоя химия с IDтата, тоест така да ги генерираш, че накрая с едно просто сортиране да излизат в реда, в който искаш...
въпреки всичко мисля, че варианта да ги подреждаш с РНР никак не е лош...това е потребителски интерфейс, така че скоростта не е критична...
[линк]
не ми идва нищо на ум
освен ако направиш някоя химия с IDтата, тоест така да ги генерираш, че накрая с едно просто сортиране да излизат в реда, в който искаш...
въпреки всичко мисля, че варианта да ги подреждаш с РНР никак не е лош...това е потребителски интерфейс, така че скоростта не е критична...
[линк]
Re: MySQL query problem...
Bofh
Не върши работа ама хич
в общия случай ...
Освен в случай, че обозначаваш на корена на всяко дърво с препратка към себе си. Или пък ако йерархията е със само един корен.
ID, ParentID
11, 11
23, 11
9, 11
и т.н.
Защтото това си е въпрос на дизайн на ниво приложение. Най често за целта се използва NULL или 0
11, NULL
23, 11
9, 11
за да се обозначи, че е те този ID си няма ParentID.
11, 11 ще ти създаде доста проблеми защото се зацикля към себе си. А комай всички алгоритми за работа с дървета са рекурсивни и това може да ти отрови живота.
salle.online.bg/sig
Не върши работа ама хич
Освен в случай, че обозначаваш на корена на всяко дърво с препратка към себе си. Или пък ако йерархията е със само един корен.
ID, ParentID
11, 11
23, 11
9, 11
и т.н.
Защтото това си е въпрос на дизайн на ниво приложение. Най често за целта се използва NULL или 0
11, NULL
23, 11
9, 11
за да се обозначи, че е те този ID си няма ParentID.
11, 11 ще ти създаде доста проблеми защото се зацикля към себе си. А комай всички алгоритми за работа с дървета са рекурсивни и това може да ти отрови живота.
salle.online.bg/sig
Re: MySQL query problem...
E tova sa gluposti i prostotii taka che ne chete tozi post