SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Member
    Join Date
    Apr 2003
    Location
    USA
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Topsites help please

    This page displays a toplist and it has 50 links per page. The problem is when you go to the next page to see the next 50 links, the count starts out at "11" instead of "51". Can someone please glance at this code and tell me where the problem could be? Also I have a problem where it list a banner that is submitted when someone signs up. If they leave the field blank, then a dead image link shows up on the page. I would really appreciate anybodys help on this. This is the script to show the links and the include file is listed below it:
    <%
    OPTION EXPLICIT
    Response.Buffer = True
    %>
    <!--#include file="inctopsite.asp"-->
    <!--#include file="top.asp"-->

    <%
    'Some before doings...
    Dim oConn, sRubrik
    Set oConn = IncTopsite_GetDatabaseConn()

    Dim nPageNo, nLastPage
    nLastPage = 1
    nPageNo = Request.QueryString("pageno")
    If nPageNo = "" Then
    nPageNo = 1
    End If

    'Lets get the links
    Dim oRS
    Set oRS = Server.CreateObject("ADODB.Recordset")

    Dim sCat
    sCat = Request("cat")

    Dim strSQL
    strSQL = "select site.id as sid, url, sitename, sitedescr, banneraddress, catid, cat.txt as catname, incount, outcount from " & IncTopsite_GetTablePrefix() & "site as site, " & IncTopsite_GetTablePrefix() & "cat as cat where site.catid=cat.id"
    If sCat <> "" And CInt(sCat) <> 0 Then
    strSQL = strSQL & " AND catid=" & sCat
    End If

    Set oRS.ActiveConnection = oConn
    oRS.CursorLocation = 3
    oRS.PageSize=50
    oRS.Open strSQL & " order by incount desc",,3,1
    If oRS.EOF = False Then
    nLastPage=oRS.PageCount
    oRS.AbsolutePage = nPageNo
    End If
    %>


    <html>

    <head>
    <meta http-equiv="Content-Language" content="en">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title></title>
    <style type="text/css">
    <!--
    body { font-family: Verdana,Arial,Helvetica; font-size: smaller; color: #000000}
    td { font-family: Verdana,Arial,Helvetica; font-size: smaller; color: #000000}
    th { font-family: Verdana,Arial,Helvetica; font-size: smaller; color: #000000}
    A:link {text-decoration: none;}
    A:visited {text-decoration: none;}
    A:hover {text-decoration: underline;}
    -->
    </style>
    </head>

    <body bgcolor="<%=g_strBodyColor%>">
    <form method="get" action="showlist.asp">
    <table width="100%" border="1" cellspacing="1" cellpadding="5" align="center" valign="top"><tr>
    <td width="20" align="center" bgcolor="#000000"><font face="Arial" size="3" color="#FFFFFF"><b>Rank</b></font></td>
    <td align="center" bgcolor="#000000"><font face="Arial" size="3" color="#FFFFFF"><b>Site</b></font></td>
    <td width="20" align="center" bgcolor="#000000"><font face="Arial" size="3" color="#FFFFFF"><b>In</b></font></td>
    <td width="20" align="center" bgcolor="#000000"><font face="Arial" size="3" color="#FFFFFF"><b>Out</b></font></td></tr>

    <%
    Dim sButton, sSiteName, sSiteDescription, sBannerAddress, nCount, sColor, nCatid, sCatName
    sColor = g_strSiteBgColor2
    Dim nStartNo
    nStartNo = (nPageNo * 10) - 10
    For nCount=1 To oRS.PageSize
    sBannerAddress = ""
    sSiteName = ""
    sSiteDescription = ""
    If oRS.EOF = False Then
    nCatid = oRS("catid")
    sCatname = oRS("catname")
    sBannerAddress = "<a href=" & """" & "goto.asp?id=" & oRS("sid") & """" & " target=_blank>" & "<img src=" & oRS("banneraddress") & " border=0 width=468 height=60>" & "</a>"
    sSiteName = "<a href=" & """" & "goto.asp?id=" & oRS("sid") & """" & " target=_blank>" & oRS("sitename") & "</a>"
    sSiteDescription = oRS("sitedescr")
    If sColor = g_strSiteBgColor2 Then
    sColor = g_strSiteBgColor1
    Else
    sColor = g_strSiteBgColor2
    End If

    %>

    <center>
    <table width="100%" cellspacing="2" cellpadding="2" border="1">
    <tr>
    <td width="44" align="center" bgcolor="#FFFFFF"><%=nStartNo+nCount%></td>
    <td align="center" bgcolor="#FFFFFF"><%=sBannerAddress%><BR><%=sSiteName%><BR><%=sSiteDescription%></td>
    <td width="24" align="center" bgcolor="#FFFFFF"><%=ors("incount")%></td>
    <td width="32" align="center" bgcolor="#FFFFFF"><%=ors("outcount")%></td>
    </tr>
    </table>


    <%
    oRS.MoveNext
    End If
    Next
    oRS.Close
    Set oRS = Nothing
    oConn.Close
    Set oConn = Nothing

    Sub WritePrev()
    '
    If CInt(nPageNo) <> 1 Then
    Response.Write "<a href=""showlist.asp?pageno=" & nPageNo-1 & """><img border=0 src=""prevpage.gif""></a>"
    End If
    End Sub

    Sub WriteNext()
    '
    If CInt(nPageNo) <> CInt(nLastPage) And nLastPage<>0 Then
    Response.Write "<a href=""showlist.asp?pageno=" & nPageNo+1 & """><img border=0 src=""nextpage.gif""></a>"
    End If
    End Sub

    %>
    <tr>
    <td bgColor=<%=g_strBodyColor%> width="50%" align="left"><%WritePrev%></td>
    <td bgColor=<%=g_strBodyColor%> width="50%" align="right">
    <%WriteNext%></td>

    Below is the include file:
    <!--#include file="incgenmail.asp"-->
    <%

    '''' Configuration:
    ''''1. Database connection
    Function IncTopsite_GetDatabaseConn()
    Dim oRet
    Dim strDSN
    strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("\../Directory/db/topsite2.mdb")
    Set oRet = Server.CreateObject ("ADODB.Connection")
    oRet.Open strDSN
    Set IncTopsite_GetDatabaseConn = oRet
    IncTopsite_PerhapsCleanUp oRet
    End Function


    '''Configuration:
    ''''2. Config variables

    Const g_strTitle = ""
    Const g_strTitle2 = ""
    Const g_strPath = ""
    Const g_strButtonImagePath = ""
    Const g_nSitesPerPage = "50"
    Const g_AdminUID = ""
    Const g_AdminPassword = ""
    Const g_ClickThruPage = True

    Const g_MailServer = ""
    Const g_OutgoingMailFrom = ""

    Const g_strSiteBgColor1 = "#D7D7D7"
    Const g_strSiteBgColor2 = "White"
    Const g_strBodyColor = "White"



    'This variable could be set to
    ' DAY for hits/day ranking or
    ' TOTAL for total hits ranking

    Const g_strRankOption = "DAY"

    'If set to true then clicking will take the user to another page and if he/she clicks
    ' there a hit will be counted. This is to defeat cheating

    Const g_fUseGateway = True





    '''Configuration:
    ''''3. Some ads if you'd like

    Function FAQ_GetAd(nNumber)
    Select Case nNumber
    Case 1
    FAQ_GetAd = ""
    Case 2
    FAQ_GetAd = ""
    Case 3
    FAQ_GetAd = ""
    End Select
    End Function

    Function IncTopsite_PerhapsCleanUp( oConn )

    If g_strRankOption = "TOTAL" Then
    IncTopsite_PerhapsCleanUp = False
    Exit Function
    End If

    Dim sNow, sStart, fShouldCleanup
    sNow = Now()
    sStart = Application("ts_start")
    If sStart = "" Then
    Dim oRSWhenStart
    Set oRSWhenStart = oConn.Execute("select startdate from "& IncTopsite_GetTablePrefix() & "sysvar " )
    If oRSWhenStart.EOF Then
    oRSWhenStart.Close
    Set oRSWhenStart = Server.CreateObject("ADODB.Recordset")
    Set oRSWhenStart.ActiveConnection = oConn
    oRSWhenStart.Open "select * from " & IncTopsite_GetTablePrefix() & "sysvar where id = -1", ,1,3
    oRSWhenStart.AddNew()
    oRSWhenStart("startdate") = Now()
    oRSWhenStart.Update
    oRSWhenStart.Close
    Set oRSWhenStart = Nothing
    sStart = Application("ts_start")
    Exit Function
    Else
    sStart = oRSWhenStart("startdate")
    oRSWhenStart.Close
    Set oRSWhenStart = Nothing
    End If
    End If
    fShouldCleanup = False

    If ShouldCleanUp( g_strRankOption, sStart, sNow ) = True Then
    oConn.Execute("update " & IncTopsite_GetTablePrefix() & "site set incount=0,outcount=0")
    Set oRSWhenStart = Server.CreateObject("ADODB.Recordset")
    Set oRSWhenStart.ActiveConnection = oConn
    oRSWhenStart.Open "select * from " & IncTopsite_GetTablePrefix() & "sysvar", ,1,3
    oRSWhenStart("startdate") = Now()
    oRSWhenStart.Update
    oRSWhenStart.Close
    Set oRSWhenStart = Nothing
    End If
    End Function

    Function IncTopsite_GetTablePrefix()
    'IncTopsite_GetTablePrefix = ""
    IncTopsite_GetTablePrefix = ""
    End Function


    Function ShouldCleanUp( g_strRankOption, sStart, sNo )
    If g_strRankOption = "DAY" Then
    If DateDiff( "d", sStart, sNo ) > 1 Then
    ShouldCleanUp = True
    Exit Function
    End If
    End If
    ShouldCleanUp = False
    End Function


    Sub ListCategories( nSelected, fListAll )
    Dim oRSCats
    Dim sSelected
    Set oRSCats = oConn.Execute("select id, txt from " & IncTopsite_GetTablePrefix() & "cat order by txt ")
    If fListAll = True Then
    If nSelected = "" Or CInt(nSelected)=0 Then
    sSelected = "selected "
    Else
    sSelected = ""
    End If
    Response.Write "<option " & sSelected & "value=""" & "0" & """>" & "All" & "</option>"
    End If
    While Not oRSCats.EOF
    If CInt(nSelected) = CInt(oRSCats("id").Value) Then
    sSelected = "selected "
    Else
    sSelected = ""
    End If
    Response.Write "<option " & sSelected & "value=""" & oRSCats("id") & """>" & oRSCats("txt") & "</option>"
    oRSCats.MoveNext
    Wend
    oRSCats.Close
    Set oRSCats = Nothing
    End Sub


    'Not working yet
    Const g_AdminEmail = "" 'Set this so you will get email when someone has joined the list and validation is needed
    Const g_ValidationNeeded = False

    %>

  2. #2
    Sultan of Ping jofa's Avatar
    Join Date
    Mar 2002
    Location
    SvÝ■jˇ­
    Posts
    4,080
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    nStartNo = (nPageNo * 10) - 10 ?


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •