שלח תשובה

זירת השאלות

213
צפיות
19
תשובות

שאלה….

,‏ 20 בנובמבר, 2004

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

תגיות:

19 תשובות

  1. ניר טייב הגיב:

    מהו מבנה ה-DB שלך ?
    אם ההודעות והתגובות נמצאות באותה טבלה אז אתה יכול לעשות חלוקה לעמודים רגילה
    אם לא אז תצטרך לעשות UNION על שתי שאילתות – האחת שמוציאה את ההודעה והשנייה שמוציאה את כל התגובות עבור ההודעה. על התוצאה של ה-union אתה עושה חלוקה רגילה לעמודים.

    בקשר לדרת השנייה, יכול להיות שיש דרך יותר יצירתית ויעילה מזו אבל זו הדרך שעכשיו עולה לי בראש.
    בהצלחה

  2. MasterMind הגיב:

    כן הם נמצאות באותה טבלה
    תסביר שוב… הרי אני יודע שאני צריך לשלוף מצד אחד את הID של ההודעה
    ואחר כך לשלוף את התגובות כלומר ParantID=ID  
    אז אני אצטרך 2 שאילתות … !
    תודה  נועם

  3. jonatan44 הגיב:

    לדעתי
    תחלק בראש שלך את ההודעה לשני חלקים:
    חלק ראשון(למעלה):מציגים את ההודעה הראשית.
    חלק שני(מתחת לחלק הראשון):חלק שמציגים את התגובות.
    עכשיו תעשה קו דימיוני שמפריד אותם.
    עכשיו היה לנו הרבה יותר קל לטפל בהם, בעזרת GetRows שלוף בעזרת שני שאילתות את הנתונים הדרושים, את נגיד ואתה מעביר ב URL את ה MsgID=1 אז מהטבלה של השאלות אתה שולף את כל אלא שה ID שלהם הוא 1, מהטבלה של התגובות אתה שולף את כל אלא שה MsgID שלהם שווה ל 1, ואתה מציג אותם (ומחלק לעמודים) כרגיל.
    בהצלחה.

  4. MasterMind הגיב:

    אוקיי… אבל
    אני לא רוצה להשתמש בשתי שאילתות כי אני חושב שזה יעשה בעיות בעתיד…
    מהירותצ וכו' אז שאלתי היא איך אני יכול להתאים את אחת הפונקציות של ה SQL לצרכים שלי…
    יש מצב?
    תודה בכל מקרה  אם אני לא אצליח אני אלך לפי הרעיון שלך

  5. ניר טייב הגיב:

    למה 2 שאילתות?
    אם אתה רוצה חלוקה לעמודים כמו בפורום של PHPBB ודומיהם אז אפשר פשוט לעשות כך:
    בטבלה להוסיף עמודה בשם groupID עמודה זו תקבל את ה-ID של ההודעה שאליה מגיבים(כאשר מכניסים תגובה) או של ההודעה עצמה(במידה וזה עבור הודעה ולא תגובה)
    בעמוד הנושאים אז אתה מעביר בקישור של "צפה בתגובות" את ה-ID של ההודעה
    בעמוד "צפייה בתגובות" אתה שולף את כל ההודעות שיש להן אותו groupID ע"פ הנתון
    שהעברנו מעמוד הנושאיםומסדר ע"פ תאריך בסדר עולה (מהישן לחדש)

    על השאילתא הזו עושים חלוקה לעמודים רגילה

  6. MasterMind הגיב:

    אוקיי אבל אני רוצה לשלוף….
    גם את ההודעה כלומר שיופיע ככה
    הודעה
    תגובה א'
    תגובה ב'
    תגובה ג'
    ואם אפשר …. איך אני עושה שהם יהיו אחת מתחת לשנייה עם תזוזה קטנה שמאלה ?
    אני יודע עם MARGIN אבל זה רק ב DIV לא? ואני לא עובד עם DIVים

  7. MasterMind הגיב:

    עברתי לרעיון אחר….
    חלק מהרעיון של ניר… אני אעשה חצי פורום רקורסיבי
    כלומר את ההודעות אני אעשה בדף אחד והם יהיו עם אפשרות אפשרות פתיחה כלפי מטה
    ומתחת להודעה יהיה קישור (צפה בתגובות) שיכלול את הID של ההודעה והוא יקשר לדף שיבקש רק את התגובות
    וכאן יש לי שאלה
    האם אפשר לעשות זאת לא בעזרת Div כי אחר כך במוזילה זה משתגע לי….
    ואם אני חייב ב DIV  כיצד לעשות זאת?
    תודה רבה   נועם צברי

  8. MasterMind הגיב:

    הרי כדי לפתוח
    הודעה באותו עמוד צריך להשתמש ב DIV ….
    אז שאלתי היא אם אפשר לא להשתמש ב DIV אם כן אז במה להשתמש
    ואם לא אז איך משתמשים בDIV

  9. ניר טייב הגיב:

    מי אמר שחייב ?
    אפשר להשתמש בכל אלמנט
    אחרי הכל המאפיין display ב-CSS חל על כל האלמנטים הויזואליים

  10. MasterMind הגיב:

    אז יש מצב בטבלה?
    כי לפי מה שאני יודע זה הכי פחות מכאיב לעיניים במוזילה ….

  11. ניר טייב הגיב:

    אפשרי.
    למרות שלדעתי עדיף עם DIVים אבל תעשה מה שנוח לך.

  12. MasterMind הגיב:

    אוקיי אני אשתמש בDIV + שאלות
    בניתי את הקוד הזה


    <%Sub msg_output%>
    <Div>
    <%=arr(2,i)%>
        <DIV style="display:none;" onclick="displayMessage(<%=arr(0,i)%>)">

        </DIV>
    </DIV>
    <%End Sub%>

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


    <Div>
    ניסיון
        <DIV style="display:none;" onclick="displayMessage(3)">

        </DIV>
    </DIV>

    מה שכחתי ??   תודה רבה  נועם צברי

  13. MasterMind הגיב:

    אופס תיקון-מצטער
    זה הקוד  פשוט רשמתי אותו בעל פה  לא העתקתי

    <%Sub msg_output%>
    <Div>
    <%=arr(2,i)%>
        <DIV style="display:none;" onclick="displayMessage(<%=arr(0,i)%>)">
        <%=arr(3,i)%>
        </DIV>
    </DIV>
    <%End Sub%>

  14. זהר פלד הגיב:

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

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

    ג) איפה הפונקציה displayMessage? צריך לראות גם אותה, היא חלק מהקוד הרלוונטי.

    ד) נכון שזו שאלה לצד לקוח, אבל גם כאן אתה מקבל הודעת שגיאה. מה הודעת השגיאה שאתה מקבל?

  15. MasterMind הגיב:

    אוקיי …
    להבא אני אשאל בפורום בניית אתרים
    לגבי הקוד…


    <script language="Javascript">
    function displayMessage(id){
    var obj = documentgetElementById(id); –> שורה 16
    obj.style.display=(obj.style.display=="block"?"none":"block");
    }
    </script>

    וזה הבעיה … אין הודעת שגיאה
    ושניתי גם קצת את הקוד … יגאל (ilsites )עזר לי   עכשיו זה נראה ככה


        <DIV style="display:none;" onclick="displayMessage(<%=arr(0,i)%>)" name="<%=arr(0,i)%>" id="<%=arr(0,i)%>">


    ודרך אגב כאשר אני מוריד את ה DISPLAY:NONE ולוחץ על ההודעה קופצת לי שגיאת  OBJECT EXPECTED  בשורה 16 (בקוד מסומנת השורה)

    תודה רבה  נועם צברי

  16. MasterMind הגיב:

    אוקיי קלטתי תשגיאה…
    מעצבן שעברתי על הפונקציה 10 פעם ולא ראיתי תשגיאה הזאת (.)
    אבל עדיין אני לא רואה את ההודעה כאשר אני לוחץ עליה
    אבל כאשר אני מוריד את ה DISPLAY :NONE  ולוחץ על ההודעה שנפתחה
    היא נסגרת לי ולא נפתחת שוב….
    מה שגיאתי ? (חחח עברית צחה)

  17. זהר פלד הגיב:

    התנאי שלך כתוב לא נכון…

    במקום
    obj.style.display=(obj.style.display=="block"?"none":"block");
    צריך להיות
    obj.style.display=(obj.style.display=="block") ? "none" : "block";

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!