Avatar billede cht Nybegynder
24. januar 2003 - 12:16 Der er 2 kommentarer

Træstruktur ved visning af meddelelser

Jeg er ved at lave en side der kan vise meddelelser fra nyhedsgrupper, som gemmes i en database. I den forbindelse skal jeg bruge noget kode som kan finde ud af hvilke meddelelser der er svar på andre meddelelser og hvilke meddelelser de er svar på. Måden hvorved jeg angiver hvilken meddelelse der er svaret på er vha. feltet parentid, hvor der står nummeret svarende til det id (autonummerering), den meddelelsee der er blevet svaret på.

Her er den kode jeg umiddelbart kunne komme frem til, men jeg synes at den virker en anelse langsom. Findes der en hurtigere/smartere måde?

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConn_news

Set objRS = Server.CreateObject("ADODB.Recordset")
strQ = "SELECT * FROM messages"
objRS.Open strQ, strConn_news

While not objRS.EOF
    Conn.Execute "UPDATE messages SET parentid=" & objRS("id") & " WHERE not IsNull(References) and References <> '' and References <> ' ' and References LIKE '" & objRS("messageID") & "%'"

    objRS.MoveNext
Wend

objRS.Close
Set objRS = Nothing

Conn.Close
Set Conn = Nothing

Lige for at illustrere opbygningen i databasen:
id  parentid  subject
1  0  En ny meddelelse
2  1  Re: Svar på meddeelse 1
3  2  Re: Svar på meddelelse 2
4  1  Re: Svar på meddelelse 1
Avatar billede keysersoze Guru
24. januar 2003 - 12:42 #1
er ikke sikker, men jeg tror det er dette du søger;

http://www.html.dk/scripts/asp/00015/
Avatar billede cht Nybegynder
24. januar 2003 - 13:01 #2
Det er desværre ikke lige det jeg står og mangler. Det jeg skal bruge er noget kode, som kan ud fra References listen kan angive i parentid hvilken meddelelse evt. er svaret på.

Hvis vi f.eks. har en meddelelse, der har fået tildelt messageID (denne tekst vil så stå i feltet messageID):
<cINr9.123613$Qk5.5221161@news010.worldonline.dk>
Så vil et svar på denne meddelelse, have denne tekst først i feltet references:
<NAAr9.119042$Qk5.5126816@news010.worldonline.dk> <A7Br9.116$ir2.1909@news.get2net.dk>
I references feltet vil der komme til at stå hvilken meddelelse der er svaret på, samt messageID for meddelelsen selv, svaret på den første meddelelse har altså messageID: <A7Br9.116$ir2.1909@news.get2net.dk>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester