Solved

table records split across multipe pages.

Posted on 2004-10-24
215 Views
Last Modified: 2010-04-25
I have all my table records displaying on a single page this was fine at the start but our database has grown over time, I have seen on other sites table records split across multiple pages.  Can this be achieved using dream weaver mx?
0
Question by:joaquinn
    5 Comments
     
    LVL 7

    Expert Comment

    by:jay_eire
    Hi  joaquinn,
    Can you post your page code you are using please?
    Thanks
    Jay Eire
    (<>..<>)
    0
     
    LVL 7

    Expert Comment

    by:jay_eire
    In the DreamWeaverMX interface is your application tab...
    you will see an icon on this tab with a green background with arrows on it... < << >> >
    click on this it will allow you to add in a record set navigation bar...this bar will let you navigate through your record set.

    if you post some code i can talk you through it................
    0
     

    Author Comment

    by:joaquinn
    my code
    thanks in advance
    Joaquinn

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!--#include file="Connections/colourdb.asp" -->
    <%
    Dim colorscheme
    Dim colorscheme_numRows

    Set colorscheme = Server.CreateObject("ADODB.Recordset")
    colorscheme.ActiveConnection = MM_colourdbConnect_STRING
    colorscheme.Source = "SELECT * FROM color"
    colorscheme.CursorType = 0
    colorscheme.CursorLocation = 2
    colorscheme.LockType = 1
    colorscheme.Open()

    colorscheme_numRows = 0
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index

    Repeat1__numRows = -1
    Repeat1__index = 0
    colorscheme_numRows = colorscheme_numRows + Repeat1__numRows
    %>
    <%
    Dim MM_paramName
    %>

    <%
    ' *** 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
    %>
    <html>
    <head>
    <title>- Color Scheme View -</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="colourdbstyle.css" rel="stylesheet" type="text/css">
    </head>

    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" class="box1">
      <tr class="description">
        <td height="21" colspan="9" class="tblTitle"> - Color Scheme View -</td>
      </tr>
      <tr class="cent">
        <td height="16">Colour Description Id</td>
        <td>Colour Description</td>
        <td>Red Value</td>
        <td>Green Value</td>
        <td>Blue Value</td>
        <td>Last Updated</td>       
        <td>Inserted</td>  
          <td>action</td>
      </tr>
      <%
    While ((Repeat1__numRows <> 0) AND (NOT colorscheme.EOF))
    %>
      <tr class="text">
        <td height="16"><%=(colorscheme.Fields.Item("ColourDescriptionID").Value)%></td>
        <td><%=(colorscheme.Fields.Item("ColourDescription").Value)%></td>
        <td><%=(colorscheme.Fields.Item("RedValue").Value)%></td>
        <td><%=(colorscheme.Fields.Item("GreenValue").Value)%></td>
        <td><%=(colorscheme.Fields.Item("BlueValue").Value)%></td>
        <td><%=(colorscheme.Fields.Item("LastUpdated").Value)%></td>
        <td><%=(colorscheme.Fields.Item("Inserted").Value)%></td>
        <td><A HREF="Tablecolor_Update.asp?<%= MM_keepForm & MM_joinChar(MM_keepForm) & "ColourDescriptionID=" & colorscheme.Fields.Item("ColourDescriptionID").Value %>">update</A></td>
      </tr>
      <%
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      colorscheme.MoveNext()
    Wend
    %>
      <tr class="cent">
        <td height="16" colspan="8"><div align="right"></div></td>
      </tr>
    </table>
    </body>
    </html>
    <%
    colorscheme.Close()
    Set colorscheme = Nothing
    %>
    0
     
    LVL 7

    Accepted Solution

    by:
    try this ...............

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!--#include file="Connections/colourdb.asp" -->
    <%
    Dim colorscheme
    Dim colorscheme_numRows

    Set colorscheme = Server.CreateObject("ADODB.Recordset")
    colorscheme.ActiveConnection = MM_colourdbConnect_STRING
    colorscheme.Source = "SELECT * FROM color"
    colorscheme.CursorType = 0
    colorscheme.CursorLocation = 2
    colorscheme.LockType = 1
    colorscheme.Open()

    colorscheme_numRows = 0
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index

    Repeat1__numRows = 10
    Repeat1__index = 0
    colorscheme_numRows = colorscheme_numRows + Repeat1__numRows
    %>
    <%
    '  *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

    Dim colorscheme_total
    Dim colorscheme_first
    Dim colorscheme_last

    ' set the record count
    colorscheme_total = colorscheme.RecordCount

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

    ' set the first and last displayed record
    colorscheme_first = 1
    colorscheme_last  = colorscheme_first + colorscheme_numRows - 1

    ' if we have the correct record count, check the other stats
    If (colorscheme_total <> -1) Then
      If (colorscheme_first > colorscheme_total) Then
        colorscheme_first = colorscheme_total
      End If
      If (colorscheme_last > colorscheme_total) Then
        colorscheme_last = colorscheme_total
      End If
      If (colorscheme_numRows > colorscheme_total) Then
        colorscheme_numRows = colorscheme_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    = colorscheme
    MM_rsCount   = colorscheme_total
    MM_size      = colorscheme_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
    %>
    <%
    ' *** 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
    colorscheme_first = MM_offset + 1
    colorscheme_last  = MM_offset + MM_size

    If (MM_rsCount <> -1) Then
      If (colorscheme_first > MM_rsCount) Then
        colorscheme_first = MM_rsCount
      End If
      If (colorscheme_last > MM_rsCount) Then
        colorscheme_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 = 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
    %>
    <html>
    <head>
    <title>- Color Scheme View -</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="colourdbstyle.css" rel="stylesheet" type="text/css">
    </head>

    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" class="box1">
     
      <tr class="description">
        <td height="21" colspan="9" class="tblTitle"> - Color Scheme View -</td>
      </tr>
      <tr class="cent">
        <td height="16">Colour Description Id</td>
        <td>Colour Description</td>
        <td>Red Value</td>
        <td>Green Value</td>
        <td>Blue Value</td>
        <td>Last Updated</td>      
        <td>Inserted</td>  
         <td>action</td>
      </tr>
      <%
    While ((Repeat1__numRows <> 0) AND (NOT colorscheme.EOF))
    %>
      <tr class="text">
        <td height="16"><%=(colorscheme.Fields.Item("ColourDescriptionID").Value)%></td>
        <td><%=(colorscheme.Fields.Item("ColourDescription").Value)%></td>
        <td><%=(colorscheme.Fields.Item("RedValue").Value)%></td>
        <td><%=(colorscheme.Fields.Item("GreenValue").Value)%></td>
        <td><%=(colorscheme.Fields.Item("BlueValue").Value)%></td>
        <td><%=(colorscheme.Fields.Item("LastUpdated").Value)%></td>
        <td><%=(colorscheme.Fields.Item("Inserted").Value)%></td>
        <td><A HREF="Tablecolor_Update.asp?<%= MM_keepForm & MM_joinChar(MM_keepForm) & "ColourDescriptionID=" & colorscheme.Fields.Item("ColourDescriptionID").Value %>">update</A></td>
      </tr>
      <%
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      colorscheme.MoveNext()
    Wend
    %>
      <tr class="cent">
        <td height="16" colspan="8"><div align="right"></div></td>
      </tr>
    </table>


    <table border="0" width="50%" align="center">
      <tr>
        <td width="23%" align="center"> <% If MM_offset <> 0 Then %>
          <a href="<%=MM_moveFirst%>">First</a>
          <% End If ' end MM_offset <> 0 %> </td>
        <td width="31%" align="center"> <% If MM_offset <> 0 Then %>
          <a href="<%=MM_movePrev%>">Previous</a>
          <% End If ' end MM_offset <> 0 %> </td>
        <td width="23%" align="center"> <% If Not MM_atTotal Then %>
          <a href="<%=MM_moveNext%>">Next</a>
          <% End If ' end Not MM_atTotal %> </td>
        <td width="23%" align="center"> <% If Not MM_atTotal Then %>
          <a href="<%=MM_moveLast%>">Last</a>
          <% End If ' end Not MM_atTotal %> </td>
      </tr>
    </table>
    <div align="center"></div>
    </body>
    </html>
    <%
    colorscheme.Close()
    Set colorscheme = Nothing
    %>



    on your repeated region ive changed it so that it will only display 10 records per page,
    you can change this to whatever amount you need....

    when your page first opens at the base of the page will be your Record Set Navigation bar
    it will have the text Next and Last as links if you click on next...the page will go off and fetch the next ten records in your table....if you look at the base of the page now the record set navigation bar has changed now you have the links

    FIRST PREVIOUS NEXT AND LAST

    First will Bring you to the start of your record set
    Previous will bring you to the previous 10 records in your table
    Next will bring you to the next 10 records in your table
    Last will bring you to the last 10 records in your table (the end or your records set).

    as i said you can change the amount of records to display on each page to any number you want.


    Thanks
    Jay Eire
    (<>..<>)
    0
     

    Author Comment

    by:joaquinn
    this has worked, thanks a lot.
    0

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Free Trending Threat Insights Every Day

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    Suggested Solutions

    Title # Comments Views Activity
    Dreamweaver CS6 keyboard shortcut 8 1,005
    SWF won't scale? 4 506
    Dreamweaver not "Putting" files to server 15 525
    Site contents shift off page in IE 32 110
    I still run into .cgi files every now and then. In some instances, I actually prefer the simplicity of a .cgi script to other options. Since I use DreamWeaver extensively, what I needed was a way to open .cgi scripts in Dreamweaver. And I wanted to …
    Adobe Dreamweaver CS5 is a WYSIWYG web page editor that has advanced HTML, CSS, and Javascript rendering functionality and is probably the most well-known HTML editor available. Much of Dreamweaver's appeal centers around the Design View interfac…
    This video Micro Tutorial is the first in a two-part series that shows how to create and use custom scanning profiles in Nuance's PaperPort 14.5 (http://www.experts-exchange.com/articles/17490/). But the ability to create custom scanning profiles al…
    To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

    857 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now