|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
משתמש תחת חוזה ניסיון.
|
[PHP] קטגוריות רקורסיביות (?)
הי
![]() יש לי עבודה קטנה על קטגוריות רקורסיביות, כך שלדוגמא בכל קטגוריה \ תת קטגוריה \ תת-תת-תת קטגוריה יוכלו להוסיף פריט מסויים אני קצת נתקע עם התכנות של זה אשמח אם תוכלו לעזור לי ![]() תודה
__________________
|
![]() |
![]() |
# 2 |
אין כמו ב127.0.0.1
|
קטגוריות תמיד יש.
לכן נוסיף טבלה שתיקרא Cats. נחלק את הטבלה Cats בצורה הבאה: ID - Name - Description - cID ID צריך להיות PRIMARY וכל השיט. Name הוא שם הקטגוריה. Description הוא תיאור הקטגוריה. cID צריך לקבל ערך 0. אם הוא לא 0, הערך שיקבל יהיה הקטגוריה שמעליו (בעצם אם הוא לא 0 הוא לא קטגוריה אלא סאב קטגוריה). בתוכם יוכלו להיות או אייטמים או סאב קטגוריות. לכן ניצור טבלה חדשה, Items. את Items נחלק כך: ID - Name - Description - cID ID שוב יהיה PRIMARY עם מספור אוטומטי. Name שם, Description תיאור.. עכשיו cID זה הקטגוריה / הסאב. שליפה: PHP קוד:
|
![]() |
![]() |
# 3 |
חבר וותיק
|
לדעתי אפשר לעשות את זה בטבלה אחת, יותר טוב
![]() פשוט תוסיף עוד שדה c_type שנגיד 1 = קטגוריה || 2 = סאב קטגוריה || 3 = סאב סאב... וכו'.... |
![]() |
![]() |
# 4 |
חבר וותיק
|
בעיקרון אתה עושה שלכל קטגוריה יהיה קישוריות מסויימת לקטגוריה שמעליו(מן הסתם הID שלו) ובשליפה אתה בודק אם לקטגוריה שמעליו יש עוד קטגוריה מעליו וכך הלאה עד שאתה מגיע לראשי
אבל שאתה מוסיף קטגוריה אתה תצטרך לבדוק כל פעם מחדש כמה "סאבים" יש וזה יהיה סתם ביזבוז
__________________
"Yesterday is history, Tomorrow is a mystery, Today is a gift, that's why it's called the present". |
![]() |
![]() |
# 5 |
משתמש תחת חוזה ניסיון.
|
בחלה
![]() תודה עומר
__________________
|
![]() |
![]() |
# 6 |
אין כמו ב127.0.0.1
|
|
![]() |
![]() |
# 7 |
תודה על תרומתך!
|
עשיתי לפני איזה חודש פונקציה נורא יפה של קטגוריות רקורסיוביות...
הפונקציה היא פונקציה רקורסיבית עם div נפתחים שלכל קטגוריה יש קטגוריות נוספות ודפי תוכן. אי הגבלה לכמות הקטגוריות שניתן להכניס (לעומק של הרקורסיה). אם אתה רוצה את הפונקציה צור קשר ואני אתן לך... |
![]() |
![]() |
# 8 |
חבר בקהילה
|
BlueNosE, הקוד שלך ממש ממש ממש לא יעיל.
4 שאליתות + 3 לולאות שקוראות לעצמן... ממש לא מומלץ. בכל אופן, הטבלה של הקטגוריות צריכה להראות כך: קוד:
id | parent_id | title בשליפה של הקטגוריות: 1. קודם כל שלוף את כל הקטגוריות לתוך מערך 2. קרא לפונקציה מסוימת, נקרא לה getCats והפונקציה הזאת תקבל 2 פרמטרים: catArr, parent_id catArr - מערך עם כל הקטגוריות שיצרת בשלב 1 parent_id - כדי להציג את כל הקטגוריות הוא צריך להיות 0 בתוך הפונקציה, אתה עובר על המערך ובודק עבור כל ערך אם ה parent_id שלו שווה ל parent_id של הפונקציה. אם כן, אתה מדפיס/מאחסן אותו איפשהו וקורא לפונקציה getCats עם אותו מערך, רק שהפרמטר השני יהיה ה id של הערך הנוכחי. הנה דוגמא של הפונקציה: PHP קוד:
בהצלחה ![]()
__________________
Last edited by The Crow; 08-02-07 at 19:03.. |
![]() |
![]() |
# 9 | |
אין כמו ב127.0.0.1
|
ציטוט:
מילא אם היית עושה continue בין לבין.. חוץ מזה, הוא ביקש הצגת משהו בתוך הקטגוריה לא?.. |
|
![]() |
![]() |
# 10 | |
חבר בקהילה
|
ציטוט:
הצגת המידע על אותו עקרון... אני לא הולך לכתוב לו את כל הקוד.
__________________
|
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|