09. januar 2003 - 15:22Der er
7 kommentarer og 1 løsning
Chat max indlæg problematik
Jeg har en chat som bruger en database, men når jeg chatter bliver databasen hurtigt fyldt op.
Derfor skal der laves et eller andet smart så de indlæg der er "set" skal slettes.
Der kan både chattes privat og til alle, men hvordan griber jeg det an.
"En tanke"
Hvis der er 10 indlæg efter privat chat vil det private jo forsvinde ud af billedet og derfor kan slettes, men hvis der nu er flere der chatter privat og noglegange chatter en med flere i privat så er problemet der jo
Hvad dælen gør jeg.
p.s indtil nu har jeg en sletknap som rydder databasen.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis du eksvis kan vise ialt 18 linier i chat vinduet: Så gemmer du max 18 public chat beskeder til dem som ikke får private beskeder for at fylde vinduet ud. Så skal du gemme 18 private beskeder pr person for en sikkerhedsskyld dog er man nød til at tjekke for hver om afsender/modtager har 18 beskeder ialt inden en besked slettes:
Efter indsættelse i databasen:
'Find antallet af public beskeder ved til = 'Alle' SQL = "SELECT ID FROM beskeder WHERE til = 'Alle' ORDER BY ID DESC" rs.Open SQL,Conn, 1,3
if Int(rs.RecordCount) >= 18 then rs.Move 17 ID = rs("ID")
SQL = "DELETE FROM beskeder WHERE ID < " & ID Conn.Execute(SQL) end if rs.Close
'Dette er at gentage det lidt men den slette så der max er 18 private beskeder 'ved den bruger som er logget ind Session("login") både til og fra SQL = "SELECT ID, til, fra FROM beskeder WHERE til = '" & Session("login") & "' OR fra = '" & Session("login") & "' ORDER BY ID DESC" rs.Open SQL,Conn, 1,3
if Int(rs.RecordCount) >= 18 then rs.Move 17
delID = "" do while not rs.EOF if rs("til") = Session("login") then SQL = "SELECT Count(ID) as antal FROM beskeder WHERE (til = 'Alle' OR til = '" & rs("fra") & "' OR fra = '" & rs("fra") & "') AND ID > " & rs("id") else SQL = "SELECT Count(ID) as antal FROM beskeder WHERE (til = 'Alle' OR til = '" & rs("til") & "' OR fra = '" & rs("til") & "') AND ID > " & rs("id") end if Set temp = Conn.Execute(SQL) if Int(temp("antal")) >= 18 then delID = delID & "," & rs("id") end if rs.MoveNext loop if delID <> "" then delID = Mid(delID,2) 'Fjerner første , SQL = "DELETE FROM beskeder WHERE ID IN (" & delID & ")" Conn.Execute(SQL) end if end if
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.