<% 'Buffer the response Response.Buffer = True 'Dimension variables Dim adoRec 'Database Recordset Variable Dim strName 'Holds the Users name Dim strEmailAddress 'Holds the Users e-mail address Dim strCountry 'Holds the users country Dim strHomepage 'Holds the Users homepage Dim strComments 'Holds the Users comments Dim dtmEntryDate 'Holds the date the commnets where made Dim intRecordPositionPageNum 'Holds the record position Dim intRecordLoopCounter 'Loop counter for displaying the guestbook records Dim intTotalNumGuestbookEntries 'Holds the total number of records in the database Dim intTotalNumGuestbookPages 'Holds the total number of pages in the database Dim intLinkPageNum 'Holds the page number to be linked to 'If this is the first time the page is displayed then the guestbook record position is set to page 1 If Request.QueryString("PagePosition") = "" Then intRecordPositionPageNum = 1 'Else the page has been displayed before so the guestbook record postion is set to the Record Position number Else intRecordPositionPageNum = CInt(Request.QueryString("PagePosition")) End If 'Initialise the strAccessDB variable with the name of the Access Database strAccessDB = "guestbook" 'Create recorset object Set adoRec = Server.CreateObject("ADODB.Recordset") 'Initalise the strSQL variable with an SQL statement to query the database by selecting all tables ordered by the decending date strSQL = "SELECT tblComments.* FROM tblComments ORDER BY Date DESC;" 'Set the cursor type property of the record set to dynamic so we can naviagate through the record set adoRec.CursorType = 3 'Query the database adoRec.Open strSQL, adoCon 'Set the number of records to display on each page by the constant set at the top of the script adoRec.PageSize = intRecordsPerPage 'Get the guestbook record poistion to display from If NOT adoRec.EOF Then adoRec.AbsolutePage = intRecordPositionPageNum %>

دفتر الزوار
<% 'If there are no rcords in the database display an error message If adoRec.EOF Then 'Tell the user there are no records to show Response.Write "
There are no records in the guestbook database" Response.Write "
Please check back later" Response.End 'Display the guestbook Else 'Count the number of enties in the guestbook database intTotalNumGuestbookEntries = adoRec.RecordCount 'Count the number of pages there are in the guestbook database calculated by the PageSize attribute set above intTotalNumGuestbookPages = adoRec.PageCount 'Display the HTML number number the total number of pages and total number of records in the guestbook database %>

يوجد <% = intTotalNumGuestbookEntries %> زائرين في <% = intTotalNumGuestbookPages %> صفحة وانت في الصفحة رقم <% = intRecordPositionPageNum %>

<% 'For....Next Loop to display records from the guestbook database For intRecordLoopCounter = 1 to intRecordsPerPage 'If there are no guestbook records left to display then exit loop If adoRec.EOF Then Exit For 'Read in the values form the database strName = adoRec("Name") strCountry = adoRec("Country") strEmailAddress = adoRec("EMail") dtmEntryDate = CDate(adoRec("Date")) strHomepage = adoRec("Homepage") strComments = adoRec("Comments") 'If there is no homepage entry to display the display no URL given If strHomepage = "http://" then strHomepage = "لايوجد موقع" 'Else turn the URL stored in the strHomepage variable into a hyperlink Else strHomepage = "" & strHomepage & "" End If 'Write the HTML to the web browser to display the guestbook entries %>
مرسلة من <% = strName %> في <% = FormatDateTime(dtmEntryDate, VbLongDate) %> <% = FormatDateTime(dtmEntryDate, VbShortTime) %>
<% = strComments %>
<% = strHomepage %> <% = strCountry %>

<% 'Move to the next record in the database adoRec.MoveNext 'Loop back round Next End If 'Display an HTML table with links to the other entries in the guestbook %>
<% 'If there are more pages to display then add a title to the other pages If intRecordPositionPageNum > 1 or NOT adoRec.EOF Then Response.Write vbCrLf & " صفحة رقم :  " End If 'If the guestbook page number is higher than page 1 then display a back link 'If there are more pages to display then display links to all the pages If intRecordPositionPageNum > 1 or NOT adoRec.EOF Then 'Display a link for each page in the guestbook For intLinkPageNum = 1 to intTotalNumGuestbookPages 'If the page to be linked to is the page displayed then don't make it a hyper-link If intLinkPageNum = intRecordPositionPageNum Then Response.Write vbCrLf & " " & intLinkPageNum Else Response.Write vbCrLf & "  " & intLinkPageNum & " " End If Next End If If intRecordPositionPageNum > 1 Then Response.Write vbCrLf & " السابق>>  " End If 'If it is Not the End of the guestbook entries then display a next link for the next guestbook page If NOT adoRec.EOF then Response.Write vbCrLf & "  التالي>> " End If 'Finsh HTML the table %>
<% 'Reset Server Variables Set adoCon = Nothing Set adoRec = Nothing %>