תפיסת מיקום רשומה ספציפית בתוך שאילתה
-
היה קשה לי לנסח את הנושא, מקווה שמתוך שאלתי יובן מה רציתי (אם יש לך אפשרות לנסח יותר טוב, אשמח מאוד )
יש לי שאילתה עם עימוד (offset limit)
את סדר השאילתה המשתמש יכול לשנות בצד הלקוח.נצייר לעצמנו שהוא בעמוד 50 (יש בכל עמוד 10 רשומות)
המשתמש מבקש לראות הרחבת מידע על אחת השורות(בא נאמר השורה ה5 בעמוד) (שאילתה חדשה עבור המידע הספציפי)
הפופאפ נפתח ומציג לו את המידע
בפופאפ יש חיצים ימינה שמאלה לעבור למידע המורחב של הרשומה לפני כן ואחרי כן. (כל אחד דורש שאילתה חדשה)
איך אני מנווט לפני ואחרי?חשבתי כך:
לבדוק כמה עמודים אחריו (במקרה זה 49)
להכפיל בסך השורות בדף (49*10=490
)
להוסיף את האינדקס של הרשומה בה הוא בחר(490+5=495
)
ליצור שאילתה עםoffce 494 limit 1
וכך לזוז אחרוה קדימה.ברוב המקרים זה יכול להיות מצוין, אבל אם מישהו אחר הוסיף או שינה רשומה בין הזמן שהמשתמש קיבל את הדף (עם השאילה הראשית) לזמן שהוא בחר להציג את הרחבת הפרטים, הוא יציג לו מידע על פריט לא נכון, כי העסק יכול לזוז שורה....
לעזרתכם.
-
לא הצלחתי להבין מה הקשר בין העמודות שרואים ברשימה לבין הנתונים שרואים בפופאפ,
אם אתה רוצה שיוכלו לראות נתונים מורחבים בפופאפ ושיוכלו בתוך הפופאפ לגשת לשורה הבאה או הקודמת וכו,
אתה פשוט שומר אצלך את הid של השורה הנוכחי ובלחיצה על קבלת השורה הבאה אתה מבקש לקבל את הנתונים של הid הנוכחי + 1
או שלא הצלחתי להבין אותך? -
@ivrtikshoret כתב בתפיסת מיקום רשומה ספציפית בתוך שאילתה:
ובלחיצה על קבלת השורה הבאה אתה מבקש לקבל את הנתונים של הid הנוכחי + 1
השורה הבאה לפי המיון הנוכחי, אם זה ID וזה מיון בסדר יורד, וזה תנועה קדימה, אז אתה כמעט צודק.
למה כמעט? כי יכול להיות שאין שורה של id+1 כי היא נמחקה. צריך > עם limit 1. -
@dovid כתב בתפיסת מיקום רשומה ספציפית בתוך שאילתה:
אז מה הבעיה?
כי בתוך הפופאפ יש שני לחצנים קדימה ואחורה שמשנים את תוכן הפופאפ בהתאם לשאילתה הראשית (כרגע יש בעמוד רק 10 רשומות, ההתייחסות היא לכל השאילתה על כלל רשומותיה).
לעלות ולרדת ID זה לא נכון כי לא בהכרח שכך הרשימה מסודרת, ואם יש כמה orderby?