Jag håller på med ett forum, för att hålla reda på vilka inlägg som är lästa så sparas inläggets ID och den inloggade användarens ID i en databas när dom läser inlägget första gången. Forumet känner sedan av om inlägget är läst eller om det finns svar som är olästa och visar en gif bild.
Mitt problem är att nu vill dom att man ska kunna sortera efter olästa inlägg och olästa svar, men hur ska jag lösa det?
Då gör du alltså en outer join mellan tabellen med inlägg och tabellen som innehåller vem som har läst vad?
sql = "select * from inlagg left join lasta on inlagg.id = lasta.id and lasta.userid = " & id & _
" order by case when lasta.id is null then 0 else 1 end,inlagg.datum desc "
Databasen ser ut så här:
DevTopic
--DevTopicID - ID
--Who - vem som gjort inlägget
--DevTopMod - Senast svarad på eller datum det skapades på
--ForumBel - vilket forum det tillhör
DevForRead
--DevForReadID - ID
--ReadTopicID - vilket inlägg som är läst
--ReadUserID - vem som läst det
--ReadDate - Datum det lästes
Och för att hålla koll på den inloggade: Session("devnetDevID") - ID på användaren!
Jag använder SQL Server:
Set CONN = Server.CreateObject("ADODB.Connection")
Conn.open "dsn=webdata;uid=webdata;pwd=****"
Fick igång det men som sagt, det ska bara vara på "Order by"!
Nu får jag bara upp det inlägget som är nytt!
Så här gör jag för att få fram inläggen
topicSQL="Select * From DevTopics Where Who="& Session("devnetDevID") &" And ReplyTo is null Order By "& Session("sort")
Set post = Server.CreateObject("ADODB.Recordset")
post.Open topicSQL, Conn, 3, 1
Session("sort") innehåller i det här fallet "unread"
Just i den här koden tar jag enbart fram den inloggades inlägg, ej svaren!
Svaren visas genom att man "öppnar" inlägget!
Senare i koden tar jag fram om inlägget är läst eller inte och visar olika bilder framför rubriken på varje inlägg om det är oläst eller finns olästa svar.
ReplyTo visar om posten i DB:n är ett svar och till vilket inlägg
Har en stark kännsla av att det inte går att lösa det här
Vad man behöver göra med varje inlägg är att kontrollera om användaren har läst det eller om det finns olästa svar och i så fall placera det högst upp i listan och i andra hand sortera efter datum.
Tabellerna består av mycket mer kolumner och funktionerna är många så att visa upp mer kod skulle bara röra till det!
387 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91