Du kan ju ha en If-sats som kollar, genom en count-fråga, hur många meddelanden användaren har. Om den överstiger x antal meddelanden avbryts processen.
Du kan ju ha en If-sats som kollar, genom en count-fråga, hur många meddelanden användaren har. Om den överstiger x antal meddelanden avbryts processen.
Hmm okej, förstår ungefär. Men inte exakt hur jag ska koda det :/
<%
' ...
' ...
' ...
' ^----- Databaskoppling m.m.
Dim maxPosts
maxPosts = 50
Dim count
Set count = Connect.Execute("SELECT Count(*) As msgs FROM tblMsgs WHERE userID=" &Session("userID"))
If count("msgs") > maxPosts Then
Dim rs
Set rs = Connect.Execute("SELECT id FROM tblMsgs WHERE userID=" &Session("userID")& " ORDER BY id asc LIMIT " &(count("msgs") - maxPosts))
Do Until rs.EOF
Connect.Execute "DELETE FROM tblMsgs WHERE userID=" &Session("userID")& " AND id=" &rs("id"),,128
rs.MoveNext
Loop
rs.Close()
Set rs = Nothing
End If
count.Close()
Set count = Nothing
%>
Eftersom man inte kan utnyttja ORDER BY-uttryck i DELETE-händelser så får man loopa ut och radera styckvis.