Här kommer en lång kod för att skriva ut gästboksinlägg med paging. Vart någonstanns och VAD ska jag skriva för att få följande meddelande: "Du har inga gästboksinlägg". Tycker det kunde vara grant med en sådan funktion, annars får jag bara en ASP-felsida när man tar bort alla inlägg.
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")
Const perSida = 10
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
MinCon.execute("update gb set readed=1 where tillid = "&Session("id") )
SQL = "Select * From gb Where tillID = "&Request.QueryString("tillid") &" Order By ID DESC"
With rs
.CursorLocation = 3
.CacheSize = perSida
End With
rs.Open SQL, MinCon
With rs
.MoveFirst
.PageSize = perSida
.AbsolutePage = sida
End With
Sidor = rs.PageCount
Count = 0
color = "#9A8C81"
Do While Not rs.EOF And Count < rs.PageSize
If color = "#786B61" Then
color = "#9A8C81"
Else
color = "#786B61"
End If
%>
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")
Const perSida = 10
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
MinCon.execute("update gb set readed=1 where tillid = "&Session("id") )
SQL = "Select * From gb Where tillID = "&Request.QueryString("tillid") &" Order By ID DESC"
With rs
.CursorLocation = 3
.CacheSize = perSida
End With
rs.Open SQL, MinCon
if rs.eof then
response.write "Du har inga gästboksinlägg <br>"
else
With rs
.MoveFirst
.PageSize = perSida
.AbsolutePage = sida
End With
Sidor = rs.PageCount
Count = 0
color = "#9A8C81"
Do While Not rs.EOF And Count < rs.PageSize
If color = "#786B61" Then
color = "#9A8C81"
Else
color = "#786B61"
End If
end if
%>
Det här fungerade inget bra!
Fick följande fel:
Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/jobb/theevents.net/read_gb.asp, line 67
Den kod du har postat är inte fullständig. Inuti din do while behövs det mer kod för att göra utskrifter mm. Strukturellt bör det se ut så här.
if rs.eof then
response.write "Du har inga gästboksinlägg <br>"
else
With rs
.PageSize = perSida
.AbsolutePage = sida
End With
Sidor = rs.PageCount
Count = 0
color = "#9A8C81"
Do While Not rs.EOF And Count < rs.PageSize
If color = "#786B61" Then
color = "#9A8C81"
Else
color = "#786B61"
End If
'här saknas kod för att göra utskrifter,
'räkna upp count och gå till nästa post i rs
loop
end if
Sorry, det är jag som har varit otydlig, jag har kod för utskrift och paging längre ner, har bara inte haft med det, sorry!
Nu får jag fel på detta iaf, vad skall göras för att få det att fungera?
Fel: Line 77
...som är:
<%
Count = Count + 1
rs.MoveNext
Loop <-----
<table width="415" cellpadding="2" cellspacing="0">
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")
Const perSida = 10
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
MinCon.execute("update gb set readed=1 where tillid = "&Session("id") )
SQL = "Select * From gb Where tillID = "&Request.QueryString("tillid") &" Order By ID DESC"
With rs
.CursorLocation = 3
.CacheSize = perSida
End With
if rs.eof then
response.write "Du har inga gästboksinlägg <br>"
else
With rs
.PageSize = perSida
.AbsolutePage = sida
End With
Sidor = rs.PageCount
Count = 0
color = "#9A8C81"
Do While Not rs.EOF And Count < rs.PageSize
If color = "#786B61" Then
color = "#9A8C81"
Else
color = "#786B61"
End If
Loop
End If
%>
<tr>
<td width="215" valign="top" bgcolor="<%=color%>"><a href="default.asp?visaSida=whois&checkid=<%=rs("id")%>"><%=rs("namn")%></a>,
<%= replace(formatdatetime(rs("datum"),vblongdate),"den ","") & " " & formatdatetime(rs("datum"),vbshorttime) %></td>
</tr>
<tr>
<td width="415" bgcolor="<%=color%>"><%=Replace(rs("text"),vbcrlf,"<br>")%><p>
<a href="default.asp?visaSida=delete_gb&delID=<%=rs("id")%>">Ta bort!!!!</a>
</td>
</tr>
<%
Count = Count + 1
rs.MoveNext
Loop
rs.Close
MinCon.Close
%>
</table>
<%If Sidor = 1 Then%>
<%Else%>
<%End If%>
<div align="center">
<%If Sidor <> 1 Then%><b>Fler inlägg:</b>
<%For Sid = 1 To Sidor%>
<%If (Int(Sid)) = (Int(sida)) Then%><%=Sid%><%Else%> <a href="default.asp?visaSida=read_gb&tillID=<%=Session("id")%>&sida=<%=Sid%>"><%=Sid%></a> <%End If%>
<%Next%>
<%End If%></div>
Tja, du gör ju det i din tidigare kod i denna tråd, men du har tydligen tagit bort den raden.
Edit: jag undviker med flit att svara exakt på dina frågor, bara så du vet. Man vill ju att du ska lära dig något också, genom att hitta felen själv. ;)
371 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2