Om du inte vill ändra alltför mycket lägger du till Exit Do alldeles ovanför End If:
Exit Do
End If
5 svar · 234 visningar · startad av magnusfernstrom
Hejsan!
Jag har en funktion som säger till när man fått ett nytt meddelande.
Koden för detta ser ut som följande:
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("midgetzinc.mdb")
SQL = "SELECT * FROM meddelanden WHERE Till = " & Session("userID") & ""
Set rs = db.Execute(SQL)
Do until rs.EOF
If rs("Read") = "0" Then
%>
<table border="0" cellpadding="4" cellspacing="0">
<td width="500" height="" valign="center" bgcolor="" align="left" style="border: 1px, dotted;" bordercolor="B31C1C">
<span style="font-size: 8px; font-family: small fonts, verdana;">
<font color="000000">
<a href="meddelanden.asp" class="new">DU HAR OLÄSTA MEDDELANDEN I DIN INKORG!</a>
</span>
</font>
</td>
</table>
<%
End If
rs.MoveNext
Loop
%>
Men om man har två nya meddelanden så för man detta meddelande två gånger.
Hur gör jag för att endast visa det en gång?
Om du inte vill ändra alltför mycket lägger du till Exit Do alldeles ovanför End If:
Exit Do
End If
Är det inte smartare att bara strunta i att loopa?
Jag hade gjort så här:
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("midgetzinc.mdb")
SQL = "SELECT * FROM meddelanden WHERE Till = " & Session("userID") & " And Read = '0'"
Set rs = db.Execute(SQL)
If Not rs.EOF Then
%>
<table border="0" cellpadding="4" cellspacing="0">
<td width="500" height="" valign="center" bgcolor="" align="left" style="border: 1px, dotted;" bordercolor="B31C1C">
<span style="font-size: 8px; font-family: small fonts, verdana;">
<font color="000000">
<a href="meddelanden.asp" class="new">DU HAR OLÄSTA MEDDELANDEN I DIN INKORG!</a>
</span>
</font>
</td>
</table>
<%
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
%>
"Är det inte smartare att bara strunta i att loopa?"
Om man kan ASP hyffsat är det lätt att säga så ;)