1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Asp Paging Problem

Discussion in 'C#' started by maksinx, Sep 12, 2008.

  1. #1
    Hello everyone,
    I have created below page but i am having difficulty to run it through as the pages links that i have created seems dont work.
    I am using dreamweaver 8 .
    when i click on the post links on my admin page, the links send me to the editpost page however when i click on the previous or next link to see the other posts nothing happens.

    can anyone help me how to avoid this happening.

    Thanks in advance
    Maksin


    quote
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!--#include file="../Connections/connBlog.asp" -->
    <%
    ' *** Edit Operations: declare variables

    Dim MM_editAction
    Dim MM_abortEdit
    Dim MM_editQuery
    Dim MM_editCmd

    Dim MM_editConnection
    Dim MM_editTable
    Dim MM_editRedirectUrl
    Dim MM_editColumn
    Dim MM_recordId

    Dim MM_fieldsStr
    Dim MM_columnsStr
    Dim MM_fields
    Dim MM_columns
    Dim MM_typeArray
    Dim MM_formVal
    Dim MM_delim
    Dim MM_altVal
    Dim MM_emptyVal
    Dim MM_i

    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
    MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
    End If

    ' boolean to abort record edit
    MM_abortEdit = false

    ' query string to execute
    MM_editQuery = ""
    %>
    <%
    ' *** Update Record: set variables

    If (CStr(Request("MM_update")) = "form1" And CStr(Request("MM_recordId")) <> "") Then

    MM_editConnection = MM_connBlog_STRING
    MM_editTable = "tblBlog"
    MM_editColumn = "intPostID"
    MM_recordId = "" + Request.Form("MM_recordId") + ""
    MM_editRedirectUrl = "editpost.asp"
    MM_fieldsStr = "txtPostTitle|value|dtePostDate|value|bitPostShow|value|intCatID|value|intPostBy|value|memPostContent|value"
    MM_columnsStr = "txtPostTitle|',none,''|dtePostDate|',none,NULL|bitPostShow|none,1,0|intCatID|none,none,NULL|intPostBy|none,none,NULL|memPostContent|',none,''"

    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
    Next

    ' append the query string to the redirect URL
    If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
    MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
    MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
    End If

    End If
    %>
    <%
    ' *** Update Record: construct a sql update statement and execute it

    If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

    ' create the sql update statement
    MM_editQuery = "update " & MM_editTable & " set "
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal
    Next
    MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

    If (Not MM_abortEdit) Then
    ' execute the update
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
    Response.Redirect(MM_editRedirectUrl)
    End If
    End If

    End If
    %>
    <%
    Dim rsPost__MMColParam
    rsPost__MMColParam = "1"
    If (Request.QueryString("id") <> "") Then
    rsPost__MMColParam = Request.QueryString("id")
    End If
    %>
    <%
    ' *** Restrict Access To Page: Grant or deny access to this page
    MM_authorizedUsers="1"
    MM_authFailedURL="default.asp"
    MM_grantAccess=false
    If Session("MM_Username") <> "" Then
    If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
    (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
    End If
    End If
    If Not MM_grantAccess Then
    MM_qsChar = "?"
    If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
    MM_referrer = Request.ServerVariables("URL")
    if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
    MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
    Response.Redirect(MM_authFailedURL)
    End If
    %>
    <%
    Dim rsPost
    Dim rsPost_numRows

    Set rsPost = Server.CreateObject("ADODB.Recordset")
    rsPost.ActiveConnection = MM_connBlog_STRING
    rsPost.Source = "SELECT * FROM tblBlog WHERE intPostID = " + Replace(rsPost__MMColParam, "'", "''") + " ORDER BY dtePostDate DESC"
    rsPost.CursorType = 0
    rsPost.CursorLocation = 2
    rsPost.LockType = 1
    rsPost.Open()

    rsPost_numRows = 0
    %>
    <%
    Dim rsCategories
    Dim rsCategories_numRows

    Set rsCategories = Server.CreateObject("ADODB.Recordset")
    rsCategories.ActiveConnection = MM_connBlog_STRING
    rsCategories.Source = "SELECT intCatID, txtCatName FROM tblCategories ORDER BY intCatSort ASC"
    rsCategories.CursorType = 0
    rsCategories.CursorLocation = 2
    rsCategories.LockType = 1
    rsCategories.Open()

    rsCategories_numRows = 0
    %>
    <%
    Dim rsUsers
    Dim rsUsers_numRows

    Set rsUsers = Server.CreateObject("ADODB.Recordset")
    rsUsers.ActiveConnection = MM_connBlog_STRING
    rsUsers.Source = "SELECT intUserID, txtNickName FROM tblUsers ORDER BY txtNickName ASC"
    rsUsers.CursorType = 0
    rsUsers.CursorLocation = 2
    rsUsers.LockType = 1
    rsUsers.Open()

    rsUsers_numRows = 0
    %>
    <%
    ' *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

    Dim rsPost_total
    Dim rsPost_first
    Dim rsPost_last

    ' set the record count
    rsPost_total = rsPost.RecordCount

    ' set the number of rows displayed on this page
    If (rsPost_numRows < 0) Then
    rsPost_numRows = rsPost_total
    Elseif (rsPost_numRows = 0) Then
    rsPost_numRows = 1
    End If

    ' set the first and last displayed record
    rsPost_first = 1
    rsPost_last = rsPost_first + rsPost_numRows - 1

    ' if we have the correct record count, check the other stats
    If (rsPost_total <> -1) Then
    If (rsPost_first > rsPost_total) Then
    rsPost_first = rsPost_total
    End If
    If (rsPost_last > rsPost_total) Then
    rsPost_last = rsPost_total
    End If
    If (rsPost_numRows > rsPost_total) Then
    rsPost_numRows = rsPost_total
    End If
    End If
    %>
    <%
    Dim MM_paramName
    %>
    <%
    ' *** Move To Record and Go To Record: declare variables

    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 = rsPost
    MM_rsCount = rsPost_total
    MM_size = rsPost_numRows
    MM_uniqueCol = "intPostID"
    MM_paramName = "id"
    MM_offset = 0
    MM_atTotal = false
    MM_paramIsDefined = false
    If (MM_paramName <> "") Then
    MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "")
    End If
    %>
    <%
    ' *** Move To Specific Record: handle detail parameter

    If (MM_paramIsDefined And MM_rsCount <> 0) Then

    ' get the value of the parameter
    MM_param = Request.QueryString(MM_paramName)

    ' find the record with the unique column value equal to the parameter value
    MM_offset = 0
    Do While (Not MM_rs.EOF)
    If (CStr(MM_rs.Fields.Item(MM_uniqueCol).Value) = MM_param) Then
    Exit Do
    End If
    MM_offset = MM_offset + 1
    MM_rs.MoveNext
    Loop

    ' if not found, set the number of records and reset the cursor
    If (MM_rs.EOF) Then
    If (MM_rsCount < 0) Then
    MM_rsCount = MM_offset
    End If
    If (MM_size < 0 Or MM_size > MM_offset) Then
    MM_size = MM_offset
    End If
    MM_offset = 0

    ' reset the cursor to the beginning
    If (MM_rs.CursorType > 0) Then
    MM_rs.MoveFirst
    Else
    MM_rs.Close
    MM_rs.Open
    End If
    End If

    End If
    %>
    <%
    ' *** Move To Record: handle 'index' or 'offset' parameter

    if (Not MM_paramIsDefined And MM_rsCount <> 0) then

    ' use index parameter if defined, otherwise use offset parameter
    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 we have a record count, check if we are past the end of the recordset
    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

    ' move the cursor to the selected record
    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
    %>
    <%
    ' *** Move To Record: if we dont know the record count, check the display range

    If (MM_rsCount = -1) Then

    ' walk to the end of the display range for this page
    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 we walked off the end of the recordset, set MM_rsCount and MM_size
    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 we walked off the end, set the offset based on page size
    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

    ' reset the cursor to the beginning
    If (MM_rs.CursorType > 0) Then
    MM_rs.MoveFirst
    Else
    MM_rs.Requery
    End If

    ' move the cursor to the selected record
    MM_index = 0
    While (Not MM_rs.EOF And MM_index < MM_offset)
    MM_rs.MoveNext
    MM_index = MM_index + 1
    Wend
    End If
    %>
    <%
    ' *** Move To Record: update recordset stats

    ' set the first and last displayed record
    rsPost_first = MM_offset + 1
    rsPost_last = MM_offset + MM_size

    If (MM_rsCount <> -1) Then
    If (rsPost_first > MM_rsCount) Then
    rsPost_first = MM_rsCount
    End If
    If (rsPost_last > MM_rsCount) Then
    rsPost_last = MM_rsCount
    End If
    End If

    ' set the boolean used by hide region to check if we are on the last record
    MM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount)
    %>
    <%
    ' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

    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=""

    ' add the URL parameters to the MM_keepURL string
    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

    ' add the Form variables to the MM_keepForm string
    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

    ' create the Form + URL string and remove the intial '&' from each of the strings
    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

    ' a utility function used for adding additional parameters to these strings
    Function MM_joinChar(firstItem)
    If (firstItem <> "") Then
    MM_joinChar = "&"
    Else
    MM_joinChar = ""
    End If
    End Function
    %>
    <%
    ' *** Move To Record: set the strings for the first, last, next, and previous links

    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 the page has a repeated region, remove 'offset' from the maintained parameters
    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

    ' set the strings for the move to links
    If (MM_keepMove <> "") Then
    MM_keepMove = Server.HTMLEncode(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
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Edit Post</title>
    </head>

    <body>
    <h2>Edit Post</h2>
    <p><a href="home.asp">Posts</a> | <a href="logout.asp">Logout </a></p>
    <p>First <a href="<%=MM_moveFirst%>">First</A> | Previous <a href="<%=MM_movePrev%>">Previous</A> | Next <a href="<%=MM_moveNext%>">Next</A> | </p>
    <form method="post" action="<%=MM_editAction%>" name="form1">
    <table>
    <tr valign="baseline">
    <td nowrap align="right">Post Title:</td>
    <td><input type="text" name="txtPostTitle" value="<%=(rsPost.Fields.Item("txtPostTitle").Value)%>" size="32">
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right">Post Date:</td>
    <td><input type="text" name="dtePostDate" value="<%=(rsPost.Fields.Item("dtePostDate").Value)%>" size="32">
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right">Show Post:</td>
    <td><input type="checkbox" name="bitPostShow" value=1 <%If (CStr(rsPost.Fields.Item("bitPostShow").Value) = CStr("True")) Then Response.Write("checked='checked'") : Response.Write("")%>>
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right">Category:</td>
    <td><select name="intCatID">
    <%
    While (NOT rsCategories.EOF)
    %>
    <option value="<%=(rsCategories.Fields.Item("intCatID").Value)%>" <%If (Not isNull(rsPost.Fields.Item("intCatID").Value)) Then If (CStr(rsCategories.Fields.Item("intCatID").Value) = CStr(rsPost.Fields.Item("intCatID").Value)) Then Response.Write("selected='selected'") : Response.Write("")%> ><%=(rsCategories.Fields.Item("txtCatName").Value)%></option>
    <%
    rsCategories.MoveNext()
    Wend
    If (rsCategories.CursorType > 0) Then
    rsCategories.MoveFirst
    Else
    rsCategories.Requery
    End If
    %>
    </select>
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right">Posted By:</td>
    <td><select name="intPostBy">
    <%
    While (NOT rsUsers.EOF)
    %>
    <option value="<%=(rsUsers.Fields.Item("intUserID").Value)%>" <%If (Not isNull(rsPost.Fields.Item("intPostBy").Value)) Then If (CStr(rsUsers.Fields.Item("intUserID").Value) = CStr(rsPost.Fields.Item("intPostBy").Value)) Then Response.Write("selected='selected'") : Response.Write("")%> ><%=(rsUsers.Fields.Item("txtNickName").Value)%></option>
    <%
    rsUsers.MoveNext()
    Wend
    If (rsUsers.CursorType > 0) Then
    rsUsers.MoveFirst
    Else
    rsUsers.Requery
    End If
    %>
    </select>
    </td>
    </tr>
    <tr>
    <td nowrap align="right" valign="top">Content:</td>
    <td valign="baseline"><textarea name="memPostContent" cols="50" rows="5"><%=(rsPost.Fields.Item("memPostContent").Value)%></textarea>
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right"> </td>
    <td><input type="submit" value="Update Post">
    </td>
    </tr>
    </table>
    <input type="hidden" name="MM_update" value="form1">
    <input type="hidden" name="MM_recordId" value="<%= rsPost.Fields.Item("intPostID").Value %>">
    </form>
    <p> </p>
    <p> </p>
    </body>
    </html>
    <%
    rsPost.Close()
    Set rsPost = Nothing
    %>
    <%
    rsCategories.Close()
    Set rsCategories = Nothing
    %>
    <%
    rsUsers.Close()
    Set rsUsers = Nothing
    %>

    unquote
     
    maksinx, Sep 12, 2008 IP