Ja tänkte skriva ett litet forum i PHP/MySQL..hur ska jag bygga upp det? spara varje inlägg i en rad?..hur ska ja då veta vilka inlägg som hör samman, typ svar åså?!
Inte särskilt bra eftersom det är svårt att skilja på trådar och meddelanden.
????? Att bygga som Bohlin visat är i princip det enda fungerande sättet att bygga korrekt trådning. Däremot kan man ju ha en tabell med trådar ändå, för att förenkla vissa sökningar.
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
altså..hm..
om jag sparar så...var ju inte bra..hur ska ja då veta i varje tråd vilket som är svar till vilket åså?..man kan inte bara ssvarar de sista
Om Du skriver ett nytt inlägg som får ID 5.
Alla svar som sedan kommer på detta inlägg får således reply_id=5..
Med andra ord kan det vara 1, 10, 100, 1000.... svar på ett meddelande och inte bara de sista.
För att sedan ha reda på i vilken ordning de ska stå så har Du datumet (thedate) att sortdera på.
men..om jag har en tråd, med ID 1 och reply_id 0...sen skriver jag ett svar med ID 6 och reply_id = 1...
hur får jag då fram dem..måste jag loopa ingeom alla inlägg å se om det är ett svar..altså..hur ska jag läsa inläggen..kolla varje tråd om det finns svar, å kolla varje svar om de finns fler svar? blir ju en massa kod...?..
Sub disp(id,level)
if level = 0 then
Set rs = connection.Execute("SELECT * FROM messages where fldReply = '" & id & " order by fldID DESC")
else
Set rs = connection.Execute("SELECT * FROM messages where fldReply = '" & id & " order by fldID ASC")
end if
do until rs.eof
'hämta nödvändiga variabler från db'n
ID = rs("fldID")
Name = rs("fldName")
Email = rs("fldEmail")
Title = rs("fldTitle")
Time2 = rs("fldTime")
if level > 0 then
str=""
for j=1 to level
str=str & "<img src=""images/blank.gif"" border=0>"
next
end if
if level=0 then str="<img src=""images/p1.gif"">"
if level > 0 then str=str & "<img src=""images/p2.gif"">"
time2=fix_date(Time2)
%>
<%=str%> <a href="javascript: wind('read.asp?id=<%=ID%>')"><%=Title%></a> <%=by%> <%=Name%> <%=time2%><br>
<%
call disp(ID, level+1)
rs.movenext
loop
End Sub
------------------
/bohlin
257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849