651
צפיות
צפיות
8
תשובות
תשובות
חלוקה לעמודים – שדרוג הקוד
שלום לכולם וחג שמח,
יש לי קוד אשר שולף מה-DB נתונים ומבצע חלוקה לעמודים.
ניתן להגדיר כמה רשומות אני רוצה בדף.
הקוד נכתב בדומה למדריך הנ"ל.
הבעיה היא שיש לי אלפי נתונים, אני מציג משהו כמו 60 עמודות בדף- וכתוצאה
מכך יש לי עשרות עמודים מוצגים בשורה אחת… מה שקצת מהווה בעיה לתצוגה לפעמים.
שתי אופציות:
א. כיצד ניתן לכתוב קוד שכל העמודים יוצגו לי בתיבה נפתחת?
ב. כיצד ניתן לכתוב קוד שמציג לי כל פעם 10 עמודים וככל כשאני עובר עמודים קדימה, אז הוא מציג לי את המשך העמודים? (בדיוק כמו בתפריט ניווט העמודים שבפורום הזה).
אשמח לתשובות,
חג שבועות שמח לכולם.
8 תשובות
תשובה
המדריך שהבאת עושה מה שאתה רוצה לעשות.
הוא יציג את מספר הרשומות מהטבלה שלך בכל עמוד.
הוא לא יציג את כולן באותו העמוד.
זה קוד לא יעיל במיוחד בעומסים גדולים אבל בד"כ לא מפריע לשרת.
1. עם איזה מסד נתונים אתה עובד? אקסס, mySQL או MSSQL?
2. מה זו 'תיבה נפתחת'? SELECT?
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
>>
אני יודע שהקוד בסדר, אבל אני רוצה לשדרג אותו…
נוצר מצב שיש לי יותר מדי עמודים. תוכל להסתכל על צילום מסך בקובץ המצורף.
אני רוצה שחלוקת העמודים תהיה כמו בפורום האתר.
1. אני עובד עם אקסס.
2. כן, כוונתי ל-SELECT
תודה על העזרה,
אוקי
אני זקוק לקוד שמבצע את הלולאה שלך כדי לראות איך בנוי ולהתאימו לדרישותיך.
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
הנה הקוד:
הקוד שמבצע את הלולאה:
<%
rs.MoveNext
if rs.EOF Then i = NumOfRecInPage
Next
rs.Close
set rs = nothing
cn.Close
Set cn = Nothing
Pages = ""
if Cint(CurrentPage) < Cint(NumOfPages) Then 'בדיקה אם יש צורך בקישור לדף הבא
Pages = Pages & " <A Href=?ob="&OB&"&page=" & CurrentPage + 1 & " class='link_bold'><<</A> "
End if
For i = 1 to NumOfPages 'קישורים לשינוי הדף הנוכחי
if i <> Cint(CurrentPage) Then
Pages = Pages & " [<A Href=?ob="&OB&"&page=" & i & " class='link_bold'>" & i & "</A>] "
Else
Pages = Pages & " [" & i & "] "
End if
Next
if CurrentPage > 1 Then 'בדיקה אם יש צורך בקישור לדף הקודם
Pages = Pages & " <A Href=?ob="&OB&"&page=" & CurrentPage – 1 & " class='link_bold'>>></A> "
End if
%>
<%= Pages %>
<%
RecNum = ""
For i = 1 to 10 'קישורים לשינוי מספר הרשומות בדף
Next
%>
הנה הקוד בצורה מסודרת.
חדש בפורום. לא שמתי לב שניתן לשלב קוד.
תחילת לולאה
<%
rs.MoveNext
if rs.EOF Then i = NumOfRecInPage
Next
rs.Close
set rs = nothing
cn.Close
Set cn = Nothing
Pages = ""
if Cint(CurrentPage) < Cint(NumOfPages) Then 'בדיקה אם יש צורך בקישור לדף הבא
Pages = Pages & " <A Href=?ob="&OB&"&page=" & CurrentPage + 1 & " class='link_bold'><<</A> "
End if
For i = 1 to NumOfPages 'קישורים לשינוי הדף הנוכחי
if i <> Cint(CurrentPage) Then
Pages = Pages & " [<A Href=?ob="&OB&"&page=" & i & " class='link_bold'>" & i & "</A>] "
Else
Pages = Pages & " [" & i & "] "
End if
Next
if CurrentPage > 1 Then 'בדיקה אם יש צורך בקישור לדף הקודם
Pages = Pages & " <A Href=?ob="&OB&"&page=" & CurrentPage – 1 & " class='link_bold'>>></A> "
End if
%>
<%= Pages %>
<%
RecNum = ""
For i = 1 to 10 'קישורים לשינוי מספר הרשומות בדף
Next
%>
תשובה
תחליף את הקוד הרלוונטי שלך לקוד הבא:
<%
If Cint(CurrentPage) < Cint(NumOfPages) Then 'בדיקה אם יש צורך בקישור לדף הבא
Pages = Pages & " <A Href=?ob="&OB&"&page=" & CurrentPage + 1 & " class='link_bold'><<</A> "
End if
For i = CurrentPage-5 to CurrentPage-1 ' קישורים לעמודים קודמים
If i>0 And i <> Cint(CurrentPage) Then
Pages = Pages & " [<A Href=?ob="&OB&"&page=" & i & " class='link_bold'>" & i & "</A>] "
End If
Next
Pages = Pages & " [" & CurrentPage & "] "
For i = CurrentPage+1 to CurrentPage+5 ' קישורים לעמודים הבאים
If i<=NumOfPages Then
Pages = Pages & " [<A Href=?ob="&OB&"&page=" & i & " class='link_bold'>" & i & "</A>] "
End If
Next
If CurrentPage > 1 Then 'בדיקה אם יש צורך בקישור לדף הקודם
Pages = Pages & " <A Href=?ob="&OB&"&page=" & CurrentPage – 1 & " class='link_bold'>>></A> "
End If
selectPages = ""
For i=1 To NumOfPages
If CInt(CurrentPage)=CInt(i) Then selected = " selected=""selected""" Else selected=Empty
selectPages = selectPages & "<option value="""&i&""""&selected&">"&i&"</option>"
Next
%>
<%= Pages %><br>
<select name="selectPages" id="selectPages" OnChange="location.href='?ob=<%=OB%>&page='+this.value;"><%=selectPages%></select>
זה אמור לפתור את כל בקשותיך.
אם אתה זקוק לעזרה או הסבר לגבי השינויים בקוד – אתה מוזמן לשאול
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In
עובד פשוט מעולה!
תודה רבה וחג שמח!
בכיף
חג שמח ובהצלחה!
"החיים הם רק הדרך במסע הנפש", בילד 2004-2008 <img src='/images/6.gif'>
http://Www.Torec.Net * http://Www.Torec.In