08-02-2007, 15:38
|
|
|
|
חבר מתאריך: 09.12.01
הודעות: 2,337
|
|
הכנסת נתונים למערך רקורסיבי
היי,
יש לי מצב כזה:
יש לי טבלה שנקראת tasks ומכילה id, pid, basket (וכמובן שדות אחרים שלא קשורים לשאלה).
יש לי אפשרות לשים לכל task שכזה ילדים, ואז להפוך אותו בעצם להורה, ובמצב כזה אני מסמן אותה כ-"סל משימות".
הבעיה שלי היא להכניס בצורה נכונה את ההורים והילידים למערך.
יש לי פונקציה שהתפקיד שלה הוא לבדוק האם לרשומה שלי יש הורים, ואם כן, להכניס את הרשומה עצמה תחת ההורה שלה בצורה כזו:
קוד PHP:
$array[ParentID]['tasks'][TaskID]=$task
(כאשר TaskID ו- ParentID מוחלפים במספרי ID הרלוונטים כמובן)
משום מה אני מקבל את המערך עם רשומות כפולות, כאשר לפעמים הרשומות שהן גם ילידים וגם הורים מופיעות רק כהורים.
כלומר:
קוד PHP:
Array
(
[4] => Array
(
[id] => 4
[pid] => 3
[uid] => 1
[basket] => 1
[tasks] => Array
(
[8] => Array
(
[id] => 8
[pid] => 4
[uid] => 1
[basket] => 0
)
)
)
[3] => Array
(
[id] => 3
[pid] => 0
[uid] => 1
[basket] => 1
[tasks] => Array
(
[4] => Array
(
[id] => 4
[pid] => 3
[uid] => 1
[basket] => 1
[tasks] => Array
(
[8] => Array
(
[id] => 8
[pid] => 4
[uid] => 1
[basket] => 0
)
)
)
[3] => Array
(
[id] => 3
[pid] => 0
[uid] => 1
[basket] => 1
(
[4] => Array
(
[id] => 4
[pid] => 3
[uid] => 1
[basket] => 1
(
[8] => Array
(
[id] => 8
[pid] => 4
[basket] => 0
)
)
)
)
)
)
)
)
די הסתבכתי פה, ולא ממש מובן לי איפה אני טועה.
הפוקנציה המקורית כל הזמן משתנה אצלי, אז אין ממש טעם להציג אותה פה,
אבל אשמח לשמוע מכם איך אני אמור לבנות את הפונקציה.
תודה
_____________________________________
“The man of wisdom is never in two minds about right and wrong;
the man of benevolence never worries about the future;
the man of courage is never afraid.”
~ Confucius
|