מקווה שזה יעזור דבר ראשון החלוקה נעשית ברמת ה-SQL ולא ברמת ה-ADO (כמקובל) הרעיון הוא כזה : דבר ראשון עליך ליצור עמודה בשם rootId שתיצור מעין קבוצות (=שירשורים) ואז תוכל להבדיל בין קבוצה לקבוצה של הודעות עמוד ראשון – X השרשורים (ה-rootIdים) הראשונים בטבלה. עמוד שני – X השרשורים הראשונים בטבלה הנמצאים אחרי X השרשורים הראשונים בטבלה עמוד שלישי X השרשורים הראשונים הנמצאים אחרי 2X השרשורים הראשונים בטבלה
וכך הלאה…
במקרה וזה לא מובן: בקרוב יעלה מאמר שלי על הוספת האפשרויות הבאות לפורום רקורסיבי: – חלוקה לעמודים – הכנסת נתונים לטבלה ויצירת הטופס – הקפצות ונעיצות – העברת הפעולות ללקוח
אממ.. סבבה שלום, אז לא הבנתי איך לעשות את זה, למשל, אני מוסיף את העמודה RootId, וכל שירשור אני נותן לו את הID שלו, ואיך אני יודע מה הID של השירשור האחרון?
צור view במסד ותיצור את השאילתא הבאה : SELECT MAX(forum.rootId) as MaxRootId, MAX(forum.date) as MaxDate, forum.rootId FROM forum GROUP BY forum.rootId ORDER BY forum.rootId DESC
עכשיו בשליפה ב-ASP אתה שולף כך: עמוד ראשון – אתה עושה בפסוקית ה-where SELECT fields FROM tbl WHERE rootID in(SELECT rootId FROM tblView ORDER BY rootID DESC)
לעמודים אחרים אתה צריך לעשות אותו דבר רק עם עוד תת שאילתא הנמצאת בתוך התת שאילתא האומרת שלא נמצאים בתוך ה-15*X הבאים (X=מספר העמוד-1) SELECT fields FROM tbl WHERE rootID in(SELECT TOP 15 rootId FROM tblView WHERE rootId not in(SELECT TOP (15*x) rootId ORDER BY ropotId DESC) ORDER BY rootID DESC)
דפדוף נעשה ע"י שליפה חדשה של כל הרשומות מה-VIEW ואז מניפולציות נוספות לפי דימיונך
14 תשובות
לעמודים?
כן, לעמודים
מקווה שזה יעזור
דבר ראשון החלוקה נעשית ברמת ה-SQL ולא ברמת ה-ADO (כמקובל)
הרעיון הוא כזה :
דבר ראשון עליך ליצור עמודה בשם rootId שתיצור מעין קבוצות (=שירשורים) ואז תוכל להבדיל בין קבוצה לקבוצה של הודעות
עמוד ראשון – X השרשורים (ה-rootIdים) הראשונים בטבלה.
עמוד שני – X השרשורים הראשונים בטבלה הנמצאים אחרי X השרשורים הראשונים בטבלה
עמוד שלישי X השרשורים הראשונים הנמצאים אחרי 2X השרשורים הראשונים בטבלה
וכך הלאה…
במקרה וזה לא מובן:
בקרוב יעלה מאמר שלי על הוספת האפשרויות הבאות לפורום רקורסיבי:
– חלוקה לעמודים
– הכנסת נתונים לטבלה ויצירת הטופס
– הקפצות ונעיצות
– העברת הפעולות ללקוח
ניר כנס שניה
שלום,
תוכל ליצור איתי קשר במסנג'ר?
[email protected]
תודה מראש!!
מצטער אבל אני לא אוהב לטפל
ברמה האישית… יותר נוח לי ברמת הפורום…
אממ.. סבבה
שלום,
אז לא הבנתי איך לעשות את זה,
למשל, אני מוסיף את העמודה RootId, וכל שירשור אני נותן לו את הID שלו, ואיך אני יודע מה הID של השירשור האחרון?
הינה
זה לא עוזר לי :/
למה לא?
אני רוצה לעשות לפי השיטה של ניר
צור view
במסד ותיצור את השאילתא הבאה :
SELECT MAX(forum.rootId) as MaxRootId, MAX(forum.date) as MaxDate, forum.rootId
FROM forum
GROUP BY forum.rootId
ORDER BY forum.rootId DESC
עכשיו בשליפה ב-ASP אתה שולף כך:
עמוד ראשון – אתה עושה בפסוקית ה-where
SELECT fields
FROM tbl
WHERE rootID in(SELECT rootId FROM tblView ORDER BY rootID DESC)
לעמודים אחרים אתה צריך לעשות אותו דבר רק עם עוד תת שאילתא הנמצאת בתוך התת שאילתא האומרת שלא נמצאים בתוך ה-15*X הבאים (X=מספר העמוד-1)
SELECT fields
FROM tbl
WHERE rootID in(SELECT TOP 15 rootId FROM tblView WHERE rootId not in(SELECT TOP (15*x) rootId ORDER BY ropotId DESC) ORDER BY rootID DESC)
דפדוף נעשה ע"י שליפה חדשה של כל הרשומות מה-VIEW ואז מניפולציות נוספות לפי דימיונך
המאמר הזה הוא על חלוקה טקסט לעמודים
ולא על חלוקת עמודים של פורום רקורסיבי
…
אני הצלחתי עם מאמר זה לחלק לעמודים פורום ישן שלי בasp אני בטוח שאפשר גם את הפורום הזה שלך (:
אמממ…
שלום,
עדיף שאני אחכה למאמר כי לא הצלחתי לפי ההסבר שלך גם להבין וגם לעשות…