186
צפיות
צפיות
19
תשובות
תשובות
שאלה….
אני עכשיו בונה פורום רגיל אבל נתקלתי בבעיה
מה קורה אם התגובות יותר גדולות מ(נגיד) 50 אז אני לא רוצה שזה יציג לי 50
תגובות אחת אחרי השנייה 50 פעם (במקרה שלי זה בטבלה)
אז איך אפשר לסדר ?
תודה רבה נועם צברי
אני עכשיו בונה פורום רגיל אבל נתקלתי בבעיה
מה קורה אם התגובות יותר גדולות מ(נגיד) 50 אז אני לא רוצה שזה יציג לי 50
תגובות אחת אחרי השנייה 50 פעם (במקרה שלי זה בטבלה)
אז איך אפשר לסדר ?
תודה רבה נועם צברי
שירות אחסון אתרים
המקצועי של וובמאסטר!
מומחים באירוח אתרי
WordPress, Joomla, Drupal
עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!
19 תשובות
מהו מבנה ה-DB שלך ?
אם ההודעות והתגובות נמצאות באותה טבלה אז אתה יכול לעשות חלוקה לעמודים רגילה
אם לא אז תצטרך לעשות UNION על שתי שאילתות – האחת שמוציאה את ההודעה והשנייה שמוציאה את כל התגובות עבור ההודעה. על התוצאה של ה-union אתה עושה חלוקה רגילה לעמודים.
בקשר לדרת השנייה, יכול להיות שיש דרך יותר יצירתית ויעילה מזו אבל זו הדרך שעכשיו עולה לי בראש.
בהצלחה
כן הם נמצאות באותה טבלה
תסביר שוב… הרי אני יודע שאני צריך לשלוף מצד אחד את הID של ההודעה
ואחר כך לשלוף את התגובות כלומר ParantID=ID
אז אני אצטרך 2 שאילתות … !
תודה נועם
לדעתי
תחלק בראש שלך את ההודעה לשני חלקים:
חלק ראשון(למעלה):מציגים את ההודעה הראשית.
חלק שני(מתחת לחלק הראשון):חלק שמציגים את התגובות.
עכשיו תעשה קו דימיוני שמפריד אותם.
עכשיו היה לנו הרבה יותר קל לטפל בהם, בעזרת שלוף בעזרת שני שאילתות את הנתונים הדרושים, את נגיד ואתה מעביר ב URL את ה MsgID=1 אז מהטבלה של השאלות אתה שולף את כל אלא שה ID שלהם הוא 1, מהטבלה של התגובות אתה שולף את כל אלא שה MsgID שלהם שווה ל 1, ואתה מציג אותם ( ) כרגיל.
בהצלחה.
אוקיי… אבל
אני לא רוצה להשתמש בשתי שאילתות כי אני חושב שזה יעשה בעיות בעתיד…
מהירותצ וכו’ אז שאלתי היא איך אני יכול להתאים את אחת הפונקציות של ה SQL לצרכים שלי…
יש מצב?
תודה בכל מקרה אם אני לא אצליח אני אלך לפי הרעיון שלך
כמו שניר אמר תישתמש ב UNION.
למה 2 שאילתות?
אם אתה רוצה חלוקה לעמודים כמו בפורום של PHPBB ודומיהם אז אפשר פשוט לעשות כך:
בטבלה להוסיף עמודה בשם groupID עמודה זו תקבל את ה-ID של ההודעה שאליה מגיבים(כאשר מכניסים תגובה) או של ההודעה עצמה(במידה וזה עבור הודעה ולא תגובה)
בעמוד הנושאים אז אתה מעביר בקישור של "צפה בתגובות" את ה-ID של ההודעה
בעמוד "צפייה בתגובות" אתה שולף את כל ההודעות שיש להן אותו groupID ע"פ הנתון
שהעברנו מעמוד הנושאיםומסדר ע"פ תאריך בסדר עולה (מהישן לחדש)
על השאילתא הזו עושים חלוקה לעמודים רגילה
אוקיי אבל אני רוצה לשלוף….
גם את ההודעה כלומר שיופיע ככה
הודעה
תגובה א’
תגובה ב’
תגובה ג’
ואם אפשר …. איך אני עושה שהם יהיו אחת מתחת לשנייה עם תזוזה קטנה שמאלה ?
אני יודע עם MARGIN אבל זה רק ב DIV לא? ואני לא עובד עם DIVים
עברתי לרעיון אחר….
חלק מהרעיון של ניר… אני אעשה חצי פורום רקורסיבי
כלומר את ההודעות אני אעשה בדף אחד והם יהיו עם אפשרות אפשרות פתיחה כלפי מטה
ומתחת להודעה יהיה קישור (צפה בתגובות) שיכלול את הID של ההודעה והוא יקשר לדף שיבקש רק את התגובות
וכאן יש לי שאלה
האם אפשר לעשות זאת לא בעזרת Div כי אחר כך במוזילה זה משתגע לי….
ואם אני חייב ב DIV כיצד לעשות זאת?
תודה רבה נועם צברי
לא הבנתי את הקשר ל-DIV בעניין הזה
הרי כדי לפתוח
הודעה באותו עמוד צריך להשתמש ב DIV ….
אז שאלתי היא אם אפשר לא להשתמש ב DIV אם כן אז במה להשתמש
ואם לא אז איך משתמשים בDIV
מי אמר שחייב ?
אפשר להשתמש בכל אלמנט
אחרי הכל המאפיין display ב-CSS חל על כל האלמנטים הויזואליים
אז יש מצב בטבלה?
כי לפי מה שאני יודע זה הכי פחות מכאיב לעיניים במוזילה ….
אפשרי.
למרות שלדעתי עדיף עם DIVים אבל תעשה מה שנוח לך.
אוקיי אני אשתמש ב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>
מה שכחתי ?? תודה רבה נועם צברי
אופס תיקון-מצטער
זה הקוד פשוט רשמתי אותו בעל פה לא העתקתי
<%Sub msg_output%>
<Div>
<%=arr(2,i)%>
<DIV style="display:none;" onclick="displayMessage(<%=arr(0,i)%>)">
<%=arr(3,i)%>
</DIV>
</DIV>
<%End Sub%>
מספר דברים:
א) זו שאלה לצד לקוח. מכיון שכבר יש לך אשכול כאן, אני לא אעביר אותה, אבל להבא, שאל בפורום המתאים.
ב) זו שאלה לצד לקוח. מכיון שכך, כשאתה מציג את קוד המקור, תציג אותו כמו שהוא מופיע בדפדפן. מה עושה השרת פשוט לא רלוונטי לשאלה הזו.
ג) איפה הפונקציה displayMessage? צריך לראות גם אותה, היא חלק מהקוד הרלוונטי.
ד) נכון שזו שאלה לצד לקוח, אבל גם כאן אתה מקבל הודעת שגיאה. מה הודעת השגיאה שאתה מקבל?
אוקיי …
להבא אני אשאל בפורום בניית אתרים
לגבי הקוד…
<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 (בקוד מסומנת השורה)
תודה רבה נועם צברי
אוקיי קלטתי תשגיאה…
מעצבן שעברתי על הפונקציה 10 פעם ולא ראיתי תשגיאה הזאת (.)
אבל עדיין אני לא רואה את ההודעה כאשר אני לוחץ עליה
אבל כאשר אני מוריד את ה DISPLAY :NONE ולוחץ על ההודעה שנפתחה
היא נסגרת לי ולא נפתחת שוב….
מה שגיאתי ? (חחח עברית צחה)
התנאי שלך כתוב לא נכון…
במקום
obj.style.display=(obj.style.display=="block"?"none":"block");
צריך להיות
obj.style.display=(obj.style.display=="block") ? "none" : "block";