Autor Zpráva
Jirin
Profil
Zdravim,
resim nasledujici problem: Mam tri clanky A,B, tvorim clanek C, kde je moznost pridat souvisejici clanky, muze byt jedne muze jich byt vice, takze ja pridam A i B. A ted pokud otevru clanek C - chci aby byl v souvisejicih clanek A, B. Pokud otevru clanek A nebo B pak bude v souvisejicih C - protoze jsem uz pridal v C tuto zavislost. Zkratka aby to fungovalo i zpetne.

Jake byste navrhovali nejlepsi reseni. Me jich napadlo nekolik ale takove tezkopadne vsechny:(
FantomX1
Profil
clanok suvisly_k_clanku

A C
B C
C A
C B

no mna napada jedine toto takto vlastne spravis mnozinu a nie usporiadanu dvojicu, potom vyberes vyber clanok from tabulka kde suvisly_clanok=aktivny_clanok, takze ked citas c clanok vybere a a b ked citas A vybere C, ked citas B vybere C.

Musis si vybrat idecka tych clankov a raz ich vlozit do stlpca clanok a do dalsieho stlpca dat vsade C
a raz ich vlozit do stlpca suvisly_k_clanku a do stlpca clanook dat vsade c.

Dalo by sa to este prekombinovat ze ked das ze su clanoky A a B suvisle k clanku C tak aj A a B budu suvisle k sebe.
To by si musel prejst aj kontrolu vsetkych clankov
pre vybrate clanky ako suvisiace od 1 do pocet clankov-1
pre vybrate clanky ako suvisiace2 od suvisiace+1 do pocet clankov
ak suvisiace jedna a suvisiace2 a suvisiace2 a suvisiace1 nie su v databaze
tak ich tam vloz

-1 preto, lebo posledny sa nebude porovnavat s poslednym a +1 preto lebo prvy sa nebudem s prvym zaroven sa rovnaky s rovnakym porovnavat nebude

Musis teda robit dvojice, kde na poradi nezalezi a to spravis len ked sa pokusis napodobnit mnozinu.
A imho v relacnych databazach sa to da len takto.
Pripada mi to trochu ako algoritmus na hladanie suvislosti grafov :).
Jirin
Profil
Díky za pomoc, jsem na spravnem smeru:)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: