"Nezar Nielsen" <tumpen@fez.dk> skrev i en meddelelse
news:brksi6$4bvsd$1@ID-179598.news.uni-berlin.de...
> Karsten Fisker wrote:
>
> >
> > Her er tabellen "b91_forum":
> > beskednr hovedtraad tilhoersforhold headline besked
> > 1000000001 1000000001 NULL 1
> > 1000000002 1000000002 NULL 2
> > 1000000003 1000000002 1000000002 2.1
> ...
>
> > Hele idéen er at tabelfelterne benyttes på følgende måde:
> > beskednr: Benyttes til at identificere hver enkelt besked
> > hovedtraad: Angiver hvilken hovedtråd hver enkelt besked hører til
> > tilhoersforhold: Angiver hvilken tråd hver besked hører til
> > headline: Beskedens overskrift
> > besked: Selve beskeden
> >
> > Hentet korrekt fra databasen, vil en udskrift af data se således ud:
> > 1
> > 1.1
> > 1.2
> > 1.2.1
> > 1.2.2
> ...
> > Jeg kan simpelthen ikke gennemskue hvordan jeg får den ønskede
opstilling.
>
> Hm, jeg må overse et ellerandet, eller også forstår jeg bare ikke hvad
> problemet er, men hvis jeg bare laver en tabel i stil med din[1] kan jeg
> da bare sortere efter koordinatfeltet ?
Et stort problem ved at lave "den simple version", er at alle nye beskeder
vil komme nederst, hvilket de også skal. En ny tråd derimod, skal være
øverst i hierarkiet.
Laves der omvendt sortering, tjah så er det nye beskeder i undertrådene der
kommer forkert.
Hmmm... det burde selvfølgelig være muligt at lave en rutine der opdeler
alle hovedtråde i et array, så den nyeste hovedtråd kan komme øverst?
Den visuelle del, der viser alle trådene med undertråde, så man kan se
hvorledes det hele hænger sammen, kan måske laves ved at checke for antallet
af punktummer (eller hvad man nu vælger at bruge som skilletegn). Beskednr
(som kan være et unix timestamp), kan selvfølgelig bruges til at vise
hovedtrådene i rigtig rækkefølge....
Tror det efterhånden begynder at dæmre.
Dog kan det blive nogle sjove felter der efterhånden dukker op
(1.1.2.3.1.2.3.2.1.2.3.2.1.2.3.2.1.2.3), hvis altså der er en lang tråd.
Det burde være muligt....
Tak for hjælpen Nezar, det var vist lige hvad jeg havde brug for..... et
ekstra øje (eller to), til at kigge på sagen.....
>
> nnbasicloen=> select * from test order by yada;
> yada | something
> -------+-----------
> 1 | såder
> 1.1 | er
> 1.1.1 | der
> 1.1.2 | der
> 1.2.1 | der
> 2 | fumlefisk
> 2.1 | hej
> 2.1.2 | der
> 2.2 | er
>
>
> [1] create table test(yada varchar(255), something varchar(255));
>
> --
> Mvh. Nezar Nielsen
>
http://fez.dk
>