שלח תשובה

זירת השאלות

397
צפיות
0
תשובות

שאלה על בניית פורום,

,‏ 26 בינואר, 2007

שלום, אני בניתי כבר פורום רקורסיבי על מסד נתונים של אקסס..

עכשיו אני מעוניין לעבור ל – Mysql, השאלה היא כיצד אני יוצר שאילתות בMysql…

יותר נכון אני מעונין ליצור את השאילה שמארגנת לי את ההודעות בפורום,

ראו את ההסבר הלקוח ממאמר באתר:

איך זה עובד?
בהתחלה אנו שולפים את כל הרשומות שה-parentID שלהם הוא 1 , כלומר הן הודעות אב. אח"כ בלולאה השנייה אנו שולפים לכל הודעת אב את הבנים שלה, מסודרים לפי ה-levelID.
אבל השיטה הזאת לא יעילה וממש לא נוחה. אם היינו יכולים להכניס איזה ממספר שהיה עוזר לי למיין את כולם מצבנו היה יותר טוב. השיטה הטובה ביותר לממספר שחשבתי עליה היא מן מחרוזת שהחלק השמאלי שלה מורכב מה-ParentID ,והחלק הימני ה-levelID.
אבל למה לעבוד קשה? למה אנחנו צריכים להתאמץ לסדר את ההודעות כאשר אנו יכולים להשתמש ב-DB למיון וסידור ההודעות?
לא רק זה, אפילו יש לנו Wizard שעושה את כל העבודה השחורה. אם נסתכל על הטבלה שלנו [וגם כל הקוד שרשמנו מקודם ] נוכל לראות שבעצם יש לנו המון כפילויות בעמודה של ה-parentID. ופה קבור הכלב!
נפתח את האקסס [או כל DB אחר אבל זה יהיה בלי ה-Wizard …] נלך לשאילתות ונבחר את השאילתא הבאה – שאילתת חיפוש כפילויות.
כאשר נפעיל את השאילתה נקבל את הטבלה ממויינת. כל מה שאנחנו צריכים לעשות עכשיו הוא לשלוף את הנתונים. היתרון בשיטה זו היא שאנו שולפים את הנתונים מתוך שאילתה אך מכניסים אותה לתוך הטבלה. הנתונים תמיד יהיו ממוינים, ללא צורך באיז שהיא טרנספורמציה על העמודה המסדרת [שבעצם לא קיימת]. למעשה אם היינו צריכים ליצור את השאילת הזו ביד זה היה נראה בערך כך:

קישור למאמר

תודה לכל העונים

תגיות:

0 תשובות

    שלח תשובה

    חדש! אחסון אתרים של וובמאסטר

    שירות אחסון אתרים
    המקצועי של וובמאסטר!

    מומחים באירוח אתרי
    WordPress, Joomla, Drupal

    • שרתי לינוקס עם CloudLinux, LiteSpeed
    • 1GB דיסק SSD, 10GB תעבורה חודשית
    • ממשק ניהול cPanel, תעודת SSL חינם

    עכשיו במחיר היכרות:
    רק 420 ש"ח לשנה!