Ingen som kan.?
Hur gör man för att bygga ett forum i trådformat, där svaren ligger under rubriken.
10 svar · 216 visningar · startad av Kent
Hur gör man för att bygga ett forum i trådformat, där svaren ligger under rubriken.
Ingen som kan.?
Eller kolla in på www.asptoday.com som tyvärr e under uppdatering men ska vara klar efter helgen.
Sök på - forum
så får du det du letar efter
cya,
------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function
Ingen som kan förklara annars hur man bygger ett sådant forum.?
Här har du ett till exempel: http://www.4guysfromrolla.com/webtech/030700-1.shtml
------------------
"Med ett schysst järnrör slår man hela världen med häpnad" - Socker-Conny
Principen är att man har ett ID-nummer på varje meddelande, lämpligtvis en räknare, och att man för varje meddelande i databasen sparar vilket meddelande-ID som meddelande är svar på (0 om det är ett "startmeddelande")
Sedan loopar man ut alla meddelanden i rot-nåvin, och anger att de inte ska skrivas ut med något indrag
ListMessages 0,0
Sub ListMessages(ParentID,Indent)
dim rs
set rs=conn.execute("SELECT * FROM Messages WHERE ParentID=" & ParentID
do until rs.eof
for i=0 to Indent
response.write " "
next
response.write rs("Subject") & "<BR>"
ListMessages rs("MessageID"),Indent+1
rs.movenext
loop
End Sub
Som du ser anropar subben sig själv för att lista ut undermeddelandena, dvs. det är en rukursiv funktion.
Tack emission, ska testa detta få se hur det funkar.
Emssion! Den där rekursiva funktionen kräver väl jättemycket? Kan man inte bara ordna posterna i bokstavsordning?
Exempel:
Nummret står för kolumnen id i dabasen.
1
----2
--------3
--------5
------------7
------------9
----4
--------8
--------10
----6
11...
Sen är det bara att använda sig av detta SQL-uutrycket.
"Select * from tabell order by order"
Tabellen ser ut så här:
id order
1 1,
2 1,1
3 1,1,1
4 1,2
5 1,1,2
6 1,3
7 1,1,2,1
8 1,2,1
9 1,1,2,2
10 1,2,2
Och om man då ordnar dem efter order, så hämtas dem i rätt ordning
När man ska svara på post 9 så lägger man bara till ett nummer. Om det är svar nr ett så lägger man till "1," annars "2," eller "3,". Fast om det blir mer än tio svar(2 tecken mellan varje komma) så lägger man till ett "a" före. För tecknet a sorteras bort före båda kommatecken och siffror. När det blir hundra svar så blir det ett b osv.
Systemet:
id på inlägg,svar i ordningen, svar i ordningen, svar i ordningen
Förstår?
/Markus
[Redigerat av racce den 29 jan 2001]
I princip kan man göra så också, och självklart blir databasbelastningen mindre än om man använder en rekursiv sökning. Jag skulle dock själv aldrig använde ett sådant system för att
Nej, har man problem med hastigheten bör man lösa det på något annat sätt, lämpligtvis genom att "persista" den totala rekursiva sökningen till en XML-fil eller en temporärtabell, och sedan arbeta vidare med den.
Vill bara lämna en egen (helt ovidkommande) synpunkt och säga att jag tycker att trädstrukturen är väldigt överskattad som layout modell för forum...
Tyckte själv att det var helläckert första gången som man fick till sin rekursiva sub!
...sen upptäckte man att det tog en väldig massa plats att visa alla inlägg på samma gång, layouten ser oftast bedrövlig ut när indragen blir för långa och rubrikerna inte får plats på en rad, samtidigt som det är minst sagt resurskrävande och diskussionerna tenderar att glida ifrån ämnet...
Är väldigt glad att Webforum inte valt den omtalade trädstrukturen!
(har svårt att hålla mig till ämnet iallafall!) :)
Men det är ju ett bra sätt att studera rekursiva funktioner!
------------------
"Life's a bitch who sucks... then you marry one who doesn't"