לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ברוכים הבאים לפורום ASP חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > ASP
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
 
כלי אשכול חפש באשכול זה



  #2  
ישן 01-06-2005, 10:22
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
פרוצדורה רקורסיבית.
בתגובה להודעה מספר 1 שנכתבה על ידי nuritp שמתחילה ב "קטגוריות ותת קטגוריות ללא הגבלה"

כי כמו שאמרת זה אין סופי...
את יכולה לקחת דוגמא מהשרשור של התגובות כאן בפורום רק הפוך חחחח...

הבעיה היחידה שיכולה לקרות היא שאי אפשר לבצע כל פעם בקשה חדשה מהמסד נתונים כי אז צריך להגדיר משתנים רבים מספור ולכן עליך להעביר את כל תוכן הטבלה של הקטגוריות לתוך מערך דו ממדי ממוספר בסדר עולה שיכלול ID של הקטגוריה ואבא.

אחרי שהעברת את התוכן למערך תוכלי לשחק בו כאוות נפשך.
מתחילים מהמקרה הפשוט - אין אבא.
אם אין אבא אז זאת קטגורית שורש והדפס.
איך בודקים שאין אבא? נעזרים בפונקציה שתבדוק אם יש לקטגוריה אבא (הפונקציה מקבלת ID קטגוריה)
אם האבא של הקטגוריה שווה אפס זאת אומרת שאין אבא (אין קטגוריה שהID שלה שווה לאפס).
ולכן, אם אין אבא אז מדפיס את הקטגוריה.
אם יש אז מחפשים מי האבא (אבא יש רק אחד!).
יתכן שלאבא יש אבא משלו ולסבא יש סבא משלו (חמולה שלמה) ולכן צריך ליצור פרוצדורה רקורסיבית.
הפרוצדורה תקבל את האבא ואת האבא של האבא של הקטגוריה שנמצא לה אבא ואת מספר הקטגוריות הקיימות ותבדוק אם גם לו יש אבא.
איך בודקים שיש אבא?
שוב, שואלים אם האבא של האבא שווה לאפס אם כן אז הוא שורש אחרת מחפשים את האבא
עוברים על כל הרשומות באמצעות לולאת FOR.
בתוך הלולאה, עבור כל רשומה שואלים האם ID של אחד מכל הרשומות שווה לאבא של הID הנוכחי (האבא של הקטגוריה הקודמת).
אם נמצא זאת אומרת שמצאת את האבא שלו.
ובודקים אם גם לו יש אבא בכך שקוראים לפונקציה שוב הפעם עם האבא החדש והאבא של האבא החדש ושוב אותו מספר של רשומות...
ורק אחר כך מדפיסים את שם הקטגוריה וכו'
מכיוון שיש רק אבא אחד אז אפשר כאן כבר לצאת מהלולאה
עושים NEXT
וסוגרים את הפרוצדורה

השתמשתי כאן גם בפונקציה וגם בפרוצדורה מכיוון שכל פעם צריך למצוא את האבא של הקטגוריה שנבחרה ולהשוות אז זה חוסך דרך כי צריך לחפש רק בפעם הראשונה את האבא(SQL או לרוץ על הלולאה) ובשאר הפעמים האבא כבר ידוע...

אם את מתחילה בקטגוריה שיש לה גם אבא וגם בנים אז לא יראו את הבנים...

מקווה שהבנת אם יש שאלות...
ובהצלחה!
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

חזרה לפורום

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 05:48

הדף נוצר ב 0.03 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר