![]() |
# 1 |
חבר על
|
[PHP] רקורסיה
שלום,
אני בונה עכשיו מן מערכת קטגוריות שיהיה דרכה אפשרות ליצור תתי קטגוריות ללא הגבלה. אז בניתי משהו כזה: אם זו קטגוריה ראשית (כלומר מופיעה בדף הבית) אז אני מכניס למסד בעמודה is_first אפס. כלומר is_first=0 ואז בדף הבית אני שולף את הקטגוריות הראשיות על ידי where is_first='0' עכשיו עשיתי תת קטגוריה שבעצם הID של קטגורית האב שלה הוא ה is_first של התת קטגוריה לדוגמא יש לי קטגוריה ראשית שהID=1, is_first=0 אני יוצר תת קטגוריה שהis_first=1... ואז פשוט אני שולף את התתי קטגוריות של הקטגוריה הראשית על ידי where is_first='$myID' כאשר ה myID הוא הID של הקטגוריה הנוכחית.. הבעיה היא שאני נתקעתי בקטגוריה שאחרי התת קטגוריה.. כלומר אני יוצר קטגוריה שלישית, שזה יראה נגיד משו כזה: קטגוריה ראשית -> תת-קטגוריה --> תת-תת קטגוריה ואז ה is_first שלה יהיה שווה ל2 (ה ID של התת קטגוריה).. אז אני רוצה לדעת איך אני מוציא את הקטגוריה הראשית ובכלל את כל הרצף של הקטגוריות שהיו עד עכשיו מה תת-תת קטגוריה.. מקווה שהבנתם.. תודה
__________________
בברכה, רועי |
![]() |
![]() |
# 2 |
חבר וותיק
|
אם היית נותן את הפונקציה, הייתי מתקן לך את הבעיה הספציפית...
אבל בעקרון קח את הפונקציה של הרקורסיה: PHP קוד:
|
![]() |
![]() |
# 3 | |
חבר על
|
ציטוט:
מה בעצם הפונקציה הזאת עושה? מדפיסה את ה ID של כל התתי קטגוריות בקטגוריה מסויימת?
__________________
בברכה, רועי |
|
![]() |
![]() |
# 4 |
חבר וותיק
|
לא, היא מדפיסה את הכותרת של הקטגוריה..
|
![]() |
![]() |
# 5 |
חבר על
|
ELAD-A עזר לי..
תודה אחי
__________________
בברכה, רועי |
![]() |
![]() |
# 6 |
חבר וותיק
|
ממש אבל ממש לא יעיל..
אם יש לך 100 קטגוריות?.. אתה תבצע select 100 פעמים?.. לא נראה לי פתרון טוב.. הפתרון שאני מציע זה לשלוף את כל הקטגוריות למערך דו-מימדי ואז לעבוד איתו...
__________________
בברכה עובד, מפתח אתרים. |
![]() |
![]() |
# 7 |
אחראי פורום
|
תקרא על JOIN, כי כמו ש-O-B אמר, ברגע שיהיה קצת יותר קטגוריות, או שהרבה יכנסו לאתר,....
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|