Salve ragazzi, ha rimanipolato questo script, ma non capisco perchè nel paging mi ripete 1 record 3 volte qualcuno sa dirmi perchè? GRAZIE

<% response.Buffer = true %>


<%
Dim rsAds__MMColParam, iPoster
rsAds__MMColParam = "1"
if (Request.QueryString("iType") <> "") then rsAds__MMColParam = Request.QueryString("iType")
if (Request.QueryString("iPoster") <> "") then rsAds__MMColParam = Request.QueryString("iPoster")
%>
<%
set rsAds = Server.CreateObject("ADODB.Recordset")
rsAds.ActiveConnection = MM_connDUclassified_STRING
rsAds.Source = "SELECT * FROM ADS, USERS, TYPES WHERE AD_POSTER = '"& session("iPoster") & "' AND AD_APPROVED = 1 AND AD_EXPIRED > DATE() AND AD_TYPE = TYPE_ID ORDER BY AD_EXPIRED DESC"
rsAds.CursorType = 0
rsAds.CursorLocation = 2
rsAds.LockType = 3
rsAds.Open()
rsAds_numRows = 0
%>
<%
Dim rsSub__MMColParam
rsSub__MMColParam = "1"
If (Request.QueryString("iType") <> "") Then
rsSub__MMColParam = Request.QueryString("iType")
End If

If (Request.QueryString("iPoster") <> "") Then
rsSub__MMColParam = Request.QueryString("iPoster")
End If
%>
<%
Dim rsCat__MMColParam
rsCat__MMColParam = "1"
If (Request.QueryString("iType") <> "") Then
rsCat__MMColParam = Request.QueryString("iType")
End If

If (Request.QueryString("iPoster") <> "") Then
rsCat__MMColParam = Request.QueryString("iPoster")
End If

%>
<%
Dim rsCat
Dim rsCat_numRows

Set rsCat = Server.CreateObject("ADODB.Recordset")
rsCat.ActiveConnection = MM_connDUclassified_STRING
rsCat.Source = "SELECT * FROM TYPES WHERE TYPE_ID = " + Replace(rsCat__MMColParam, "'", "''") + ""
rsCat.CursorType = 0
rsCat.CursorLocation = 2
rsCat.LockType = 1
rsCat.Open()

rsCat_numRows = 0
%>

<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 25
Repeat1__index = 0
rsAds_numRows = rsAds_numRows + Repeat1__numRows
%>
<%

Dim rsAds_total
Dim rsAds_first
Dim rsAds_last


rsAds_total = rsAds.RecordCount


If (rsAds_numRows < 0) Then
rsAds_numRows = rsAds_total
Elseif (rsAds_numRows = 0) Then
rsAds_numRows = 1
End If


rsAds_first = 1
rsAds_last = rsAds_first + rsAds_numRows - 1


If (rsAds_total <> -1) Then
If (rsAds_first > rsAds_total) Then
rsAds_first = rsAds_total
End If
If (rsAds_last > rsAds_total) Then
rsAds_last = rsAds_total
End If
If (rsAds_numRows > rsAds_total) Then
rsAds_numRows = rsAds_total
End If
End If
%>
<%

If (rsAds_total = -1) Then


rsAds_total=0
While (Not rsAds.EOF)
rsAds_total = rsAds_total + 1
rsAds.MoveNext
Wend

If (rsAds.CursorType > 0) Then
rsAds.MoveFirst
Else
rsAds.Requery
End If


If (rsAds_numRows < 0 Or rsAds_numRows > rsAds_total) Then
rsAds_numRows = rsAds_total
End If


rsAds_first = 1
rsAds_last = rsAds_first + rsAds_numRows - 1

If (rsAds_first > rsAds_total) Then
rsAds_first = rsAds_total
End If
If (rsAds_last > rsAds_total) Then
rsAds_last = rsAds_total
End If

End If
%>
<%
Dim MM_paramName
%>
<%
Dim MM_rs
Dim MM_rsCount
Dim MM_size
Dim MM_uniqueCol
Dim MM_offset
Dim MM_atTotal
Dim MM_paramIsDefined

Dim MM_param
Dim MM_index

Set MM_rs = rsAds
MM_rsCount = rsAds_total
MM_size = rsAds_numRows
MM_uniqueCol = ""
MM_paramName = ""
MM_offset = 0
MM_atTotal = false
MM_paramIsDefined = false
If (MM_paramName <> "") Then
MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "")
End If
%>
<%

if (Not MM_paramIsDefined And MM_rsCount <> 0) then


MM_param = Request.QueryString("index")
If (MM_param = "") Then
MM_param = Request.QueryString("offset")
End If
If (MM_param <> "") Then
MM_offset = Int(MM_param)
End If

If (MM_rsCount <> -1) Then
If (MM_offset >= MM_rsCount Or MM_offset = -1) Then ' past end or move last
If ((MM_rsCount Mod MM_size) > 0) Then ' last page not a full repeat region
MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)
Else
MM_offset = MM_rsCount - MM_size
End If
End If
End If


MM_index = 0
While ((Not MM_rs.EOF) And (MM_index < MM_offset Or MM_offset = -1))
MM_rs.MoveNext
MM_index = MM_index + 1
Wend
If (MM_rs.EOF) Then
MM_offset = MM_index ' set MM_offset to the last possible record
End If

End If
%>
<%

If (MM_rsCount = -1) Then

MM_index = MM_offset
While (Not MM_rs.EOF And (MM_size < 0 Or MM_index < MM_offset + MM_size))
MM_rs.MoveNext
MM_index = MM_index + 1
Wend

If (MM_rs.EOF) Then
MM_rsCount = MM_index
If (MM_size < 0 Or MM_size > MM_rsCount) Then
MM_size = MM_rsCount
End If
End If

If (MM_rs.EOF And Not MM_paramIsDefined) Then
If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then
If ((MM_rsCount Mod MM_size) > 0) Then
MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)
Else
MM_offset = MM_rsCount - MM_size
End If
End If
End If

If (MM_rs.CursorType > 0) Then
MM_rs.MoveFirst
Else
MM_rs.Requery
End If


MM_index = 0
While (Not MM_rs.EOF And MM_index < MM_offset)
MM_rs.MoveNext
MM_index = MM_index + 1
Wend
End If
%>
<%
rsAds_first = MM_offset + 1
rsAds_last = MM_offset + MM_size

If (MM_rsCount <> -1) Then
If (rsAds_first > MM_rsCount) Then
rsAds_first = MM_rsCount
End If
If (rsAds_last > MM_rsCount) Then
rsAds_last = MM_rsCount
End If
End If

MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount)
%>
<%

Dim MM_keepNone
Dim MM_keepURL
Dim MM_keepForm
Dim MM_keepBoth

Dim MM_removeList
Dim MM_item
Dim MM_nextItem

' create the list of parameters which should not be maintained
MM_removeList = "&index="
If (MM_paramName <> "") Then
MM_removeList = MM_removeList & "&" & MM_paramName & "="
End If

MM_keepURL=""
MM_keepForm=""
MM_keepBoth=""
MM_keepNone=""


For Each MM_item In Request.QueryString
MM_nextItem = "&" & MM_item & "="
If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))
End If
Next


For Each MM_item In Request.Form
MM_nextItem = "&" & MM_item & "="
If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))
End If
Next

MM_keepBoth = MM_keepURL & MM_keepForm
If (MM_keepBoth <> "") Then
MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
End If
If (MM_keepURL <> "") Then
MM_keepURL = Right(MM_keepURL, Len(MM_keepURL) - 1)
End If
If (MM_keepForm <> "") Then
MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)
End If

Function MM_joinChar(firstItem)
If (firstItem <> "") Then
MM_joinChar = "&"
Else
MM_joinChar = ""
End If
End Function
%>
<%

Dim MM_keepMove
Dim MM_moveParam
Dim MM_moveFirst
Dim MM_moveLast
Dim MM_moveNext
Dim MM_movePrev

Dim MM_urlStr
Dim MM_paramList
Dim MM_paramIndex
Dim MM_nextParam

MM_keepMove = MM_keepBoth
MM_moveParam = "index"

If (MM_size > 1) Then
MM_moveParam = "offset"
If (MM_keepMove <> "") Then
MM_paramList = Split(MM_keepMove, "&")
MM_keepMove = ""
For MM_paramIndex = 0 To UBound(MM_paramList)
MM_nextParam = Left(MM_paramList(MM_paramIndex), InStr(MM_paramList(MM_paramIndex),"=") - 1)
If (StrComp(MM_nextParam,MM_moveParam,1) <> 0) Then
MM_keepMove = MM_keepMove & "&" & MM_paramList(MM_paramIndex)
End If
Next
If (MM_keepMove <> "") Then
MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1)
End If
End If
End If

If (MM_keepMove <> "") Then
MM_keepMove = MM_keepMove & "&"
End If

MM_urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove & MM_moveParam & "="

MM_moveFirst = MM_urlStr & "0"
MM_moveLast = MM_urlStr & "-1"
MM_moveNext = MM_urlStr & CStr(MM_offset + MM_size)
If (MM_offset - MM_size < 0) Then
MM_movePrev = MM_urlStr & "0"
Else
MM_movePrev = MM_urlStr & CStr(MM_offset - MM_size)
End If
%>
<link href="img/DUclassified.css" rel="stylesheet" type="text/css">
<div class = "links">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="left" valign="middle" class="textBold"> <a href="default.asp">HOME
</a>&raquo; Tutti i prodotti attualmente in Offerta presso: <%=(rsAds.Fields.Item("AD_POSTER").Value)%></td>
<td align="right" valign="middle" class="textBold">
<%
TFM_MiddlePages = 20
TFM_delimiter = " | "
TFM_startLink = MM_offset + 1 - MM_size * (int(TFM_middlePages/2))
If MM_offset > 0 Then TFM_LimitPageEndCount = int(TFM_startLink/MM_size)
If TFM_startLink < 1 Then
TFM_startLink = 1
TFM_LimitPageEndCount = 0
End If
TFM_endLink = MM_size * TFM_MiddlePages + TFM_startLink - 1
If TFM_endLink > rsAds_total Then TFM_endLink = rsAds_total
For i = TFM_startLink to TFM_endLink Step MM_size
TFM_LimitPageEndCount = TFM_LimitPageEndCount + 1
if i <> MM_offset + 1 Then
Response.Write("<a href=""" & Request.ServerVariables("URL") & "?" & MM_keepMove & "offset=" & i-1 & """>")
Response.Write(TFM_LimitPageEndCount & "</a>")
else
Response.Write("Page ")
Response.Write(TFM_LimitPageEndCount & "
")
End if
if(i <= TFM_endLink - MM_size) then Response.Write(TFM_delimiter)
Next
%></td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#666666" >
<tr align="center" valign="middle">
<td width="53" class="bgMenu" > Foto</td>
<td width="253" class="bgMenu" ><div align="center">Descrizione</div></td>
<td width="253" class="bgMenu" ><div align="center">L'Offerta &egrave;
disponibile presso</div></td>
<td width="129" class="bgMenu" > <div align="center">Scadenza</div></td>
<td width="117" class="bgMenu" ><div align="center">Prezzo &euro;</div></td>
<td width="121" class="bgMenu" ><div align="center">Visualizzato</div></td>
</tr>
<% If Not rsAds.EOF Or Not rsAds.BOF Then %>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsAds.EOF))
%>
<%If rsAds.Fields.Item("SPONSOR").Value = "1" Then %>
<tr valign='middle' bgcolor='#FFFF99'>
<td align="center" class="text">
<% If NOT rsAds.Fields.Item("AD_IMAGE").Value = "" Then %>
[img]img/foto.gif[/img]
<% End If %> </td>
<td align="center" bgcolor="#FFFF99" class="textBold" >&iAd=<%=(rsAds.Fields.Item("AD_ID").Value)%>"><%=( rsAds.Fields.Item("AD_TITLE").Value)%> </td>
<td align="center" class="textBold" ><%=(rsAds.Fields.Item("AD_POSTER").Value)%></td>
<td align="center" class="textBold" ><%=(rsAds.Fields.Item("AD_EXPIRED").Value)%></td>
<td align="center" class="textBold" ><%=(rsAds.Fields.Item("AD_PRICE").Value)%> </td>
<td align="center" class="textBold" ><%=(rsAds.Fields.Item("AD_VIEWED").Value)%></td>
<% else %>
<tr valign="middle" bgcolor="#FFFFFF">
<td align="center" class="text" >
<% If NOT rsAds.Fields.Item("AD_IMAGE").Value = "" Then %>
[img]img/foto.gif[/img]
<% End If %> </td>
<td align="center" class="text" >&iAd=<%=(rsAds.Fields.Item("AD_ID").Value)%>"><%=( rsAds.Fields.Item("AD_TITLE").Value)%></td>
<td align="center" class="text" ><%=(rsAds.Fields.Item("AD_POSTER").Value)%></td>
<td align="center" class="text" ><%=(rsAds.Fields.Item("AD_EXPIRED").Value)%> </td>
<td align="center" class="text" ><%=(rsAds.Fields.Item("AD_PRICE").Value)%></td>
<td align="center" class="text"><%=(rsAds.Fields.Item("AD_VIEWED").Va lue)%> </td>
<% End If %>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rsAds.MoveNext()
Wend
%>
<% End If ' end Not rsAds.EOF Or NOT rsAds.BOF %>
</table></td>
</tr>
<tr>
<td colspan="2" align="right" valign="middle" class="text"></td>
</tr>
</table>
</div>
<%
rsAds.Close()
%>
<%
rsCat.Close()
Set rsCat = Nothing

%>