Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Record inspiegabilmente ripetuto 3 volte

    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

    %>
    Pochi sanno, molti presumono di sapere.

  2. #2
    Perchè in questa query:
    codice:
    SELECT * FROM ADS, USERS, TYPES ...
    mancano le join tra le tabelle Se fai l'anteprima con il Dreamweaver te ne accorgi subito
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  3. #3
    Grazie Ivan, con il tuo suggerimento ho notato l'errore.
    Pochi sanno, molti presumono di sapere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.