בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP

חלוקה לדפים

הדוגמא המובאת כאן היא התשובה לשאלה הנשאלת כל פעם מחדש, איך מחלקים את כל הרשימה הארוכה הזאת לדפים?
אז הנה התשובה!

איך עושים את זה?

הנה הקוד מקור:

<%@ LANGUAGE="VBSCRIPT" %> <!-- #include file="../../Samples_DSN.asp" --> <html> <head> <META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1255"> </head> <body bgColor=LightSteelBlue> <BASEFONT Face=Arial> <BR> <table Width=90% Align=Center border=0> <% Set cn = server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet") cn.Open Samples_DSN SQL = "select * from PHONE_BOOK" 'אם היינו עושים חיפוש המשפט היה שונה PAGE = Request.QueryString("page") if PAGE = "" Then PAGE = 1 'לבדוק שבאמת נשלח מספר הדף הנוכחי NumOfRecInPage = Request.QueryString("numofrec") if NumOfRecInPage = "" Then NumOfRecInPage = 5 'לבדוק שבאמת נשלח מספר הרשומות בדף rs.PageSize = NumOfRecInPage rs.CacheSize = rs.PageSize rs.Open SQL,cn,3,1 NumOfRec = rs.RecordCount NumOfPages = rs.PageCount CurrentPage = PAGE rs.AbsolutePage = CurrentPage Response.Write "<TR BGColor=#87bad3>" Response.Write "<TH>" & NumOfRec & ": סה"כ רשומות</TH>" Response.Write "<TH>" & NumOfPages & ": מספר הדפים</TH>" Response.Write "<TH>" & CurrentPage & ": דף נוכחי</TH>" Response.Write "<TH>" & NumOfRecInPage & ": מספר רשומות בדף</TH>" Response.Write "</TR>" Response.Write "<TR><TH Height=40></TH></TR>" Response.Write "<TR><TH Colspan=4><TABLE Width=50% Border=1>" For i = 1 to NumOfRecInPage 'לעבור על הסט רשומות כמספר הרשומות שבדף אחד Response.Write "<TR>" Response.Write "<th colspan=2>" & rs(3) & "</td>" Response.Write "<th colspan=2>" & rs(2) & "</td>" Response.Write "</tr>" rs.MoveNext if rs.EOF Then i = NumOfRecInPage Next Response.Write "</TABLE></TH></TR>" rs.Close Set rs = nothing cn.Close Set cn = Nothing Response.Write "<TR><TH Height=40></TH></TR>" Pages = "" if CurrentPage > 1 Then 'בדיקה אם יש צורך בקישור לדף הקודם Pages = Pages & " <A Href=?page=" & CurrentPage - 1 & "&numofrec=" & NumOfRecInPage & "><<</A> " End if For i = 1 to NumOfPages 'קישורים לשינוי הדף הנוכחי if i <> Cint(CurrentPage) Then Pages = Pages & " [<A Href=?page=" & i & "&numofrec=" & NumOfRecInPage & ">" & i & "</A>] " Else Pages = Pages & " [" & i & "] " End if Next if Cint(CurrentPage) < Cint(NumOfPages) Then 'בדיקה אם יש צורך בקישור לדף הבא Pages = Pages & " <A Href=?page=" & CurrentPage + 1 & "&numofrec=" & NumOfRecInPage & ">>></A> " End if Response.Write "<TR><TH Colspan=4>" & Pages & ": דף נוכחי</TH></TR>" RecNum = "" For i = 1 to 10 'קישורים לשינוי מספר הרשומות בדף RecNum = RecNum & " [<A Href=?page=1&numofrec=" & i & ">" & i & "</A>] " Next Response.Write "<TR><TH Colspan=4>" & RecNum & ": מספר רשומות בדף</TH></TR>" %> </TABLE> </CENTER> </body> </html>

הסברים כלליים

rs.RecordCount מחזיר את סה"כ מספר הרשומות
rs.PageSize מחזיר או קובע את מספר הרשומות בכל דף ודף
rs.CacheSize קוסע את מספר הרשומות שהאובייקט מקציב להן זיכרון Cache
rs.PageCount מחזיר את מספר הדפים. זאת הוא מחשב ע"י חלוקה של סה"כ מספר הרשומות חלקי מספר הרשומות בכל דף
rs.AbsolutePage מחזיר או קובע את הדף הנוכחי



התגובות שלכם

                  
01. 31/07/2005  מתן
מ-צ-ו-י-י-ן!!!
פשוט נהדר כל הכבוד תמשיכו כך!


מחבר: אדם ליבסקירמת קושי: 2  ||  ציון: (8.5)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם