אשכול: רקורסיה
View Single Post
ישן 09-03-07, 22:44   # 12
DorWD
תודה על תרומתך.
 
DorWD's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
מיקום: עפולה
גיל: 31
הודעות: 2,259

DorWD לא מחובר  

ציטוט:
נכתב במקור על ידי TopSite.co.il צפה בהודעה
תראה, שימוש בריקורסיה המצריך שליפת מידע מDB רצוי תמיד לתכנן את הפונקציה שהיא תשלוף את כ-ל המידע הדרוש מהמסד ותעשה על המידע הזה מניפולציה בריקוריסה בלבד.
הדוגמא הקלאסית זה ממשק קטגוריות, שיש צורך בקטגוריות ראשיות, תת-קטגוריות, תת-תתי-קטגוריות וכו'.
במקום לשלוף את כל הקטגוריות הראשיות, ועבור כל קטגוריה את הבנים שלה ועבור כל בן את הבנים שלו עדיף לשלוף נניח את כל הקטגוריות ולבנות מהן מערך כלשהו ובאמצעות ריקורסיה לעבור ולעבד את המידע.

בהצלחה.
אני לא חושב שצריך לפתוח אשכול חדש בשביל זה

אז ככה עשיתי רקורסיה, שיחקתי ועבדתי עם זה קצת, זה מה שיצא:
http://www.dorwd.com/recursion.php

עכשיו השאלה שלי היא:
אני רוצה להוציא למשל את הbasketball ואת ה"ילדים" שלו לפי id
הid של הbasketball הוא 2.
אז אני רוצה להוציא אותו ואת ה"ילדים" שלו כrecursion.php?id=2
איך עושים את זה?
הנה הקוד הנוכחי:
PHP קוד:
<?
function  display($item=0$level=0)  { 
        
$query  =  "SELECT  id,  parent,  title  FROM  tree  WHERE  parent  =  '$item'"
        
$result  =  mysql_query($query)  or  die  (mysql_error()); 
       
$level++; 
        while  (
$row  =  mysql_fetch_assoc($result))  { 
        echo 
"<ul>";
        if (
$level == 1){
                echo  
"<li><b><p  style=\"text-indent:".($level  0)."\">".$row['title']."</p></b></li>\n"
            }
                else{
                echo  
"<li><p  style=\"text-indent:".($level  *  15)."\">".$row['title']."</p></li>\n";
            }
                
        echo 
"</ul>";
                
display($row['id'],$level); 
        } 
}
display(0);
?>
__________________
מתכנת WEB
  Reply With Quote