ציטוט:
נכתב במקור על ידי 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);
?>