Om man har ett scriptet som radar upp dom senaste inläggen
ser det ut ungfär så här:
Response.Write("<a Href=read.asp?id=" & objRs("ID") & ">" & Left(objRs("rubrik"), 15) & "...</a><BR>")
Men om senaste inlägget är ett svar, då går han ju in på det och så kan man svara på ett svar, och så ska det ju inte vara...
Men kan man göra så då att man har så han radar upp efter ref_id först men om det står 0 där så går han till id och radar upp den som har ref_id 0?
Nu vet jag inte om jag förstod dig rätt, men om du har en flagga i tabellen som anger om det är orginalinlägg eller ett svar. Använder du access så stödjer den boelska värden, men om du använder mysql kan du ha 1 som true och 0 som false.
ID | Ref_id
1 0 <--- Det är ett eget inlägg
2 1 <--- Det är ett svar på ett inlägg, siffran hör till id:et som eh inläggt
3 1 <--- Det är ett svar på ett inlägg
4 0 <--- Det är ett eget inlägg
Och nu går han efter bara ID, men då går han in på svar, och då svarar dom på ett svar ju.. Men då tänkte jag så att först följer dom ref_id, men om ref_id är 0 så går han över till id..
Om det är det du menar med boelska värden ("vad det nu är"), hur gör man då Jörgen?
du förstod nog han rätt, har du testat enligt principen du själv beskrev?
boelska värden menas med att true eller false retuneras i din kod:
if objRs("kontroll") = true then
Response.Write("<a Href=read.asp?id=" & objRs("ID") & ">" & Left(objRs("rubrik"), 15) & "...</a><BR>")
end if
och så gör du rs("kontroll") till en checkbox i databasen.
du förstod nog han rätt, har du testat enligt principen du själv beskrev?
Jo, det har jag. Har själv byggt ett forum snarlikt detta.
Om det är det du menar med boelska värden ("vad det nu är"), hur gör man då Jörgen?
Om du förklarar lite bättre hur sin tabellstruktur och uppbyggnad ser ut så är det lättare att förklara, dessutom slipper man förklara flera gånger pga missförstånd.
För att lösa ditt problem som jag förstått det kan du göra så här, om du har alla inlägg i samma tabell.
MessId (räknare, id på inlägget, unikt)
OrginalMess (true / false, true om det är ett orginalinlägg och false om det är ett svar)
ThreadId (numeriktvärde som anger ett MessId, vilket identifierar vilka svar som hör till vilket inlägg)
dteDate (datetime-fält som anger när inlägget gjordes)
När du sedan vill hämta och läsa en tråd så länkar du och hämtar efter ThreadId.
Med tabellstruktur menande jag hur dina fält ser ut i databasen. Om du skriver ner hur du byggt upp din databas får vi enklare att hjälpa dig.
Nej, det har jag inte... ärligt talat så har jag inte en blekaste aning var jag ska sätta det JörgenHP nämde förut....Jag har försökt och försökt, men får ej någon ordning på det...
först och främst måste du lägga till fält i tabellen som dels anger om det är ett svar eller ett orginalinlägg, samt en referens som anger till vilket inlägg svaren tillhör.
ID, ränknare....
Ref_id, vilket inlägger till hör 0 om det är ett inlägg ID om det är ett svar
Email,
Namn,
Rubrik,
Ip,
datum,
inlagg, texten
svar, hur många svar det har...
svarstyp, nej, ja om det står nej så är det ett inlägg, ja då är det ett svarsinlägg
Nu får du de 5 senaste orginalinläggen överst. Vill du ha så att det senaste besvarade inlägget är överst får du skapa en datumkolumn till som uppdateras med Now() varje gång någon svarar, och sedan sortera efter den istället.
sql ="SELECT TOP 5 * FROM inlagg WHERE Ref_id = 0 ORDER BY ID DESC"
set rs = connect.execute(sql)
if rs.eof then
response.write "<p>Inget inlägg fanns</p>"
else
while not rs.eof
Response.Write("<a href=read.asp?id=" & rs("ID") & ">" & Left(rs("rubrik"), 15) & "...</a><BR>")
rs.movenext
wend
end if