לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ברוכים הבאים לפורום ASP חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > ASP
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
 
כלי אשכול חפש באשכול זה



  #1  
ישן 15-12-2004, 10:51
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
עזרה בעיה בפונקצייה -רקורסיה

אני מנסה לעשות פונקצייה שתעשה לולאה אין סופית כתגובה לתגובה.

הנתונים:
ID- זה מספר ייחודי לכל הודעה/תגובה.
Re- זה מספר ה ID של ההודעה/תגובה אליה הוא מגיב.

בתאוריה זה עובד -
1.א בחר את כל ההודעות שאין להם תגובה
1.ב הדפס
1.ג אם יש להם תגובה לך לפונקצייה reply
2.א פונקצייה reply בחר את כל ההודעות ש re שווה ל id
2.ב הדפס
2.ג אם יש להם תגובה לך לפונקצייה reply

זה ברמה העקרונית - אפשר לבדוק אם יש תגובה בתוך הפונקצייה

במעשי לא מצליח לי. אני נתקע אחרי שנגמרת לולאה של תגובות והוא צריך לעבור לרשומה הבאה, להמשיך את הלולאה של הפונקצייה. כלומר הוא לא בוחר לי את כל ההודעות. אני לא יכול לעשות movenext
ההצהרה השתנתה בגללל שקיבל ID חדש.
ולא נראה לי לנכון לשמור את הID הקודם כי אפשר להיסחב עם עשרות כאלו.

זה מעצבן אותי גררררררררררררררררררררררררררררררר
אני מאוד קרוב ואז מתפקשש לי בעעע

מה אני צריך לעשות??
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

חזרה לפורום
  #3  
ישן 15-12-2004, 12:37
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
לא ממש, רקורסיה נראה עדיף.
בתגובה להודעה מספר 2 שנכתבה על ידי sprk78 שמתחילה ב "היי, לא כ''כ הבנתי את כוונתך, למה את צריך ? בניית תגובות"

אני יסביר לך איך זה אמור לעבוד

1הודעה(0)
-2תגובה(1)
--4תגובה(2)
---5תגובה(4)
----6תגובה(5)
---7תגובה(4)
----8תגובה(7)
--תגובה(2)
-3תגובה(1)
-9תגובה(1)

המספר שמימין זה המספר המזהה של ההודעה
המספר בשמאל בסוגריים זה לאיזה נושא הוא מתייחס, למי הוא מגיב

מה שחסר לי זה בעיה בתכנות HELP ME
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]


נערך לאחרונה ע"י Eran בתאריך 15-12-2004 בשעה 12:40.
חזרה לפורום
  #5  
ישן 15-12-2004, 20:12
  דקל דקל אינו מחובר  
 
חבר מתאריך: 20.02.03
הודעות: 2,396
בתגובה להודעה מספר 4 שנכתבה על ידי fat fish שמתחילה ב "אתה מנסה ליצור"

הוא כתב שיש לו את הנתון ששומר למי התגובה...
ציטוט:
במקור נכתב על ידי Eran
הנתונים:
ID- זה מספר ייחודי לכל הודעה/תגובה.
Re- זה מספר ה ID של ההודעה/תגובה אליה הוא מגיב.
בכל אופן ערן... אם אתה מתעקש על רקורסיה (לדעתי בזבוז משאבים נוראי...) אז הדרך (שלי לפחות) היא בצורה הבאה:
אם מדובר על הודעה ראשית, שים בתוך Re את המספר 0.
לאחר מכן תבנה פונקציה שתעבוד בצורה הבאה (זה פסיאודו-קוד... לא קוד מלא) :
קוד:
function recursive($id) { msgs = select * from tbl where Re=$id; foreach(msgs) { print msgs->title; recuresiv(msgs->Id); } }
הרעיון הוא שאתה קורא לפונקציה הזאת עם המספר 0, ככה דבר ראשון- היא מוציאה את כל האבות. לאחר מכן עבור כל אבא- היא מדפיסה אותו וקוראת לעצמה מחדש (אבל עם האיידי של האבא) כלומר- ההוצאה הבאה תהיה של כל הבנים הראשיים של אותו אבא, וההמשך- ברקורסיה.

בהצלחה, דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"

חזרה לפורום
  #6  
ישן 16-12-2004, 15:59
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
זה מה שעשיתי. אבל זה לא נכון.
בתגובה להודעה מספר 5 שנכתבה על ידי דקל שמתחילה ב "הוא כתב שיש לו את הנתון ששומר..."

אחרי ההודעה הראשונה הוא עובר לתגובה הראשונה ושם הוא מגדיר מחדש את ה "msgs"
ומכאן נוצרת השגיאה. כאשר הוא סיים את הרקורסיה הפנימית (בהנחה שיש רק תגובה אחת לכל תגובה) אז הוא צריך לעבור בחזרה על הקוד בשביל הרשומה הבאה. אבל ההצהרה שונתה והוא מחזיר שגיאה. אני לא מצליח לעבור על הרשומות הבאות בתור... רק על התגובה הראשונה של כל הודעה.


ובנוגע לרקורסה זה בזבוז משאבים. מה הפתרון שלכם במקרה שלי ללא רקורסיה???
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

חזרה לפורום
  #8  
ישן 19-12-2004, 18:41
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
אני לא מוצא אחת כזאת! ואני עדיין תקוע!!!
בתגובה להודעה מספר 7 שנכתבה על ידי sprk78 שמתחילה ב "כל רקורסיה ניתנת להמרה ע''י לולאות פשוט תנסה להמיר"

עדיין נראה לי שיותר הגיוני רקורסיה. פשוט לא מוצא פתרון אחר.
אם אתה עושה לולאות אז אתה תצטרך פשוט מלא כאלה כי אתה לא יודע כמה תגובות יהיו לך לכל תגובה.

כל הקטע שחי בתגובה שתהיה קשורה להודעה הקודמת, שיהיה עץ. אחרת אני יכול בפשטות לשים את כל ההודעות אחד אחרי השני ולסגור עניין.

יש איזה פורום ב ASP חימני היה לי שעשה את זה יפה, אני ינסה לאתרו בחזרה.
אשמח אם מישהו יוכל לעזור לי למצוא אותו, אני זוכר אותו בערך. בהתחלה יש רשימה של פורומים, כשנכנסים לפורום רואים את העץ של ההודעות. אם אתה מצרף הודעה אז נוסף אייקון של סיכת ביטחון, ויש עוד אייקונים שונים מועתקים מכל מיני מקומות כמו לב או סמיילי שמחזיק שלט שכתוב עליו משהו.
אחרי שבוחרים הודעה או תגובה אז פשוט ארואים את גוף ההודעה ויש אפשרות למעבר להודעה הבאה...
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

חזרה לפורום
  #10  
ישן 25-12-2004, 18:13
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
המלצה מה שמצאתי לנכון הוא...
בתגובה להודעה מספר 1 שנכתבה על ידי Eran שמתחילה ב "בעיה בפונקצייה -רקורסיה"

שהבעיה היחידה בפונקציה שלי זה הקריאה למסד נתונים כל פעם מחדש ולכן אני קודם יעביר את כל התגובות למערך ואז יפעל כרגיל ופשוט ישלוף את התגובות בהתאם!

ויש לי שאלה אפשר לסגור את המערך או משתנה אחר לאחר שהשתמשתי או לא השתמשתי בו?
(אם יש בכלל אפשרות שכזאת זה בכלל יחסוך משהו? זמן, משאבים)
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

חזרה לפורום

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 03:06

הדף נוצר ב 0.05 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר