Det är inte pålitligt att bara jämföra strängar och tal.
Så du borde typkonvertera när du jämför:
if not cInt(request.querystring("innan")) = cInt(RS("id")) then
1 svar · 366 visningar · startad av Maadmax
Hej jag har en sida i min chatt som kollar om det har kommit nya meddelanden och isåfall uppdaterar framen där chatten är i.. Detta för att chattens frame inte ska uppdateras hela tiden och blinka osv...
Så nu har jag en querystring som innehåller id:t på den senaste posten som fanns i databasen förra nya-meddelande-kollen, och den querystringen heter "innan".. Så på det här sättet får man ut idet på den näst sista posten...
Och nu så har jag en if-sats får att jämföra "innan" med den aktuella senaste posten.. Och om "innan" är mindre än den aktuella id:t så har det kommit nya meddelanden och då ska framen uppdateras... För att testa detta script har jag:
SQL = "SELECT * FROM malay_chatt ORDER by id desc limit 1"
Set RS = Minconn.Execute(SQL)
if request.querystring("innan") = "" then
response.write "Välkommen till chatten. Söker efter meddelanden..."
else
if not request.querystring("innan") = RS("id") then
response.write "Query = " & request.querystring("innan") & " | Data: " & RS("id") & " | # Nya meddelanden hittades. Uppdaterar chatten... |"
%>
<script language=JavaScript type="text/javascript">
<!--
parent.chatten.location.href="chatt_window2.asp"
// -->
</script>
<%
else
response.write "Query = " & request.querystring("innan") & " | Data: " & RS("id") & " | # Inga nya meddelanden hittades. Söker igen... |"
end if
end if
Och även fast både innehållet i request.querystring("innan") och i RS("id") innehåller exakt samma siffror dvs "151" så blev meddelandet:
Query = 151 | Data: 151 | # Nya meddelanden hittades. Uppdaterar chatten... |
Varför blir det såhär.. Spökar det eller?
Det är inte pålitligt att bara jämföra strängar och tal.
Så du borde typkonvertera när du jämför:
if not cInt(request.querystring("innan")) = cInt(RS("id")) then