Ciao a tutti!
ho un problema con uno script per la paginazione che ho sempre usato e che non mi ha mai dato problemi;intanto ve lo posto:
codice:
<table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="98%">
<tr>
<td width="7%" bgcolor="#99B7D7" align="center" valign="top">
<font face="Verdana" size="1" color="#FFFFFF">ID</font></td>
<td width="20%" bgcolor="#99B7D7" align="center" valign="top">
<a href="list-news.asp?order=tit">
<font face="Verdana" size="1" color="#FFFFFF">TITOLO</font></td>
<td width="53%" bgcolor="#99B7D7" align="center">
<font face="Verdana" size="1" color="#FFFFFF">TESTO</font></td>
<td width="12%" bgcolor="#99B7D7" align="center">
<a href="list-news.asp?order=data">
<font face="Verdana" size="1" color="#FFFFFF">DATA</font></td>
<td width="8%" bgcolor="#99B7D7" align="center">
<a href="list-news.asp?order=mant">
<font face="Verdana" size="1" color="#FFFFFF">MANTIENI</font></td>
<td width="8%" bgcolor="#99B7D7" align="center">
<font face="Verdana" size="1" color="#FFFFFF">MODIFICA</font></td>
<td width="8%" bgcolor="#99B7D7" align="center">
<font face="Verdana" size="1" color="#FFFFFF">ELIMINA</font></td>
</tr>
<%
sql = "SELECT * FROM News ORDER BY Data desc, ID desc"
rs.Open sql, conn, 1, 3
a = 0
do while not rs.EOF
a = a + 1
rs.movenext
loop
rs.close
if a = "0" then
Response.Write("Nessun dato disponibile")
else
ord = Request.Querystring("order")
if ord = "id" then
ord = "ID"
end if
if ord = "tit" then
ord = "Titolo"
end if
if ord = "mant" then
ord = "Mantieni"
end if
if ord = "" OR ord = "data" then
ord = "Data desc, id desc"
end if
Dim Page_Size
Dim Current_Page
Dim Page_Count
Page_Size = 20 '###------Quante per ogni pagina?--------
if Request("Page") = "" Then
Current_Page = 1
else
Current_Page = CInt(Request("Page"))
end if
rs.CursorLocation = adUseClient
rs.PageSize = Page_Size
sql="SELECT * From News ORDER BY "&ord&" "
rs.Open sql, conn, 1, 3
Page_Count = rs.PageCount
if 1 > Current_Page then Current_Page = 1
if Current_Page > Page_Count then Current_Page = Page_Count
rs.AbsolutePage = Current_Page
do while rs.AbsolutePage = Current_Page AND not rs.EOF
id=rs("ID")
titolo=rs("Titolo")
testo=rs("Testo")
data=rs("Data")
mantieni = rs("Mantieni")
if mantieni <> "" then
if mantieni = True then
ck = "checked"
else
ck = ""
end if
end if
if data <> "" then
gg = Day(data)
mm = Month(data)
aaaa = Year(data)
data_c = CDate(gg & "/" & mm & "/" & aaaa)
end if
i = i + 1
if i MOD 2 = 0 then
colour = ("#E7EEF5")
else
colour = ("#FFFFFF")
end if
%>
<tr bgcolor="<%=colour%>">
<td valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left" width="7%">
<font face="Verdana" size="1"><%=id%></font>
</td>
<td width="20%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
<font face="Verdana" size="1"><%=titolo%></font>
</td>
<td width="53%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
<font face="Verdana" size="1"><%=testo%></font>
</td>
<td width="12%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
<font face="Verdana" size="1"><%=data_c%></font>
</td>
<td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
<p align="center">
<input type="checkbox" name="mantieni" <%=ck%> disabled value="ON">
</td>
<td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="center">
[img]modifica.gif[/img]</td>
<td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="center">
', 'Sei sicuro di voler cancellare questa news?')">[img]cancella.gif[/img]</td>
</tr>
<%
rs.movenext
loop
rs.close
%>
</table>
</center>
</div>
<font size="1" color="#84AABD" face="Verdana">
<%
Response.Write "<div align=center>"
Response.Write "
"
if Current_Page = 1 then
Response.Write "<font color='#000000'>Inizio| "
end if
if Current_Page >= 2 then
Response.Write "<< Inizio | " & vbCrLf
end if
if Current_Page >= Page_Count then
Response.Write "<font color='#000000'>Successiva >|"
end if
if Current_Page < Page_Count then
Response.Write "Successiva >" & "|" & vbCrLf
end if
if Current_Page <> 1 then
Response.Write "< Precedente | " & vbCrLf
Response.Write " " & vbCrLf
end If
if Current_Page = 1 then
Response.Write "<font color='#000000'>< Precedente | "
end if
if Current_Page <> Page_Count then
Response.Write "Ultima >>" & vbCrLf
end if
if Current_Page >= Page_Count then
Response.Write "Ultima"
end If
end if
%>
</font>
il fatto è che, così come è il codice, non vedo nessuna riga della tabella stampata,senza errori ma non va molto bene che non mi restituisca niente.
il problema l'ho identificato ma non riesco a risolverlo..sta tutto all'inizio del ciclo do while e precisamente se invece che ripetere il ciclo fino a quando è verificata la condizione rs.AbsolutePage = Current_Page lo faccio fin quando questa condizione NON si verifica vedo tutti i record che mi servono.qui il problema però è che li vedo tutti senza la paginazione.
non so se sono stato molto chiaro..
grazie a chi mi darà una mano..