![]() |
[PHP] הצגת המאמרים של הקטגוריה הראשית...
יש לי שאלה שאני לא מצליח לפתור והיא..
יש לי מערכת קטגוריות רקרוסיבית.. כלומר קטגוריה רשאית ותחתיה עוד חחת ותחתיה עוד ועוד ועוד.. לכל קטגוריה יש אפשר לשייך מאמרים.. אני רוצה לעשות כך שאם אני נכנס לקטגוריה שתחתיה יש קטגוריה ובא יש מאמרים אז המאמר יוצג גם בקטגוריה הראשית.. אשמח אם מישהו יעזור לי אם זה.. |
תעשה לכל קטגוריה קוד שבנוי מהעומק שלה והמספר שלה.
הכוונה קטגוריה ראשונה הקוד שלה יהיה ריק. מתחתיה יש a1 וa2 וכן הלאה. לבנות של a1 יקראו a1b1 a1b2 וכו'. ואז בפריט שמשוייך לקטגוריה תכניס את הקוד של הקטגוריה. ובשליפה אם אתה רוצה את כל התוכן שב ROOT אתה לא צריך שום התניה, אתה שולף את כל מה שבטבלה. כדי לקבל את כל התוכן של a1 אתה עושה משהו כזה: קוד:
WHERE 'code' LIKE 'a1%' |
אולי למישהו יש שיטה טובה יותר?
כי כבר בניתי את הטבלאות.. עם מבנה של id,m_id,name |
אתה יכול לשלוף את כל הקטגוריות הבנות של הקטגוריה שאתה רוצה לשלוף את התוכן שלה ואת כל הID שלהן להכניס ל
קוד:
WHERE cat IN(1,2,3) |
תשתמש ברקורסיה שכבר בנית...
|
תבדוק אם זה עובד, חשבתי על זה כרגע. במקום להדפיס את הפלט, תחזיר אותו אחורה, עד שזה מגיע לקטגוריה הראשית, ושם תדפיס את כל מה שאתה מקבל, זאת אומרת:
1->2 1->3 ->מאמר 1 -> מאמר 2 ->3 -> 1 1->4 אז אתה מחזיר כי הרי זה תמיד יחזור לראשון. |
ציטוט:
ציטוט:
ציטוט:
|
IN זה משווה את כל הערכים שבתוכו שמופרדים בפסיקים למה שאתה נותן לו.
למשל: קוד:
SELECT * FROM tbl WHERE id IN(445,345,700) |
ציטוט:
תשים פה את הקוד של הרקורסיה שלך ואני יסביר לך.. |
ציטוט:
אני חושב שאני יבנה רקורסיה שתכניס לי לתוך מערך את כל ה IDים ואז אני ישתמש עם IN.. (מה שבניה הציע) |
כל הזמנים הם GMT +2. הזמן כעת הוא 17:28. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ