520
צפיות
צפיות
21
תשובות
תשובות
div ו- span … כמו בפורום
הסקריפט שפורסם בפורום תכנות ASP בתפוז
דורש להחליף מספר לID בכל פעם שאני מוסיף הודעה נפתחת…
הנה הסקריפט
<SCRIPT LANGUAGE="JavaScript">
<!–
function showDiv(d_id)
{
d_id.style.display = d_id.style.display == "none" ? "" : "none"
}
//–>
</SCRIPT>
והנה מה שאני צריך לעשות (לדוגמא : ID שווה ל4) .
<span style="cursor:hand; " onClick="javascript:showDiv(d_4)">
הודעה ראשונה
</span>
<Div style="display:none" id="d_4">
תוכן הודעה ראשונה
</div>
אני בונה פורום עץ כמו פורום זה , ובכל פעם שהmovenext נכנס לפעולה הid של הסקריפט נשאר אותו דבר ואז ישנה שגיאה שלא פותחת לי הודעות (מאחר וכל הID זהים) .
השאלה שלי :
כיצד אני מחליף באופן אוטומטי את הid של הסקריפט לid לדוגמא של ההודעה בפורום ?
21 תשובות
לא משנה הסתדרתי
החלפתי את הid במספר הid של ההודעה שלי ..
שאלה
אני מעוניין לצור טופס הרשמה והתחברות לפורום שלי כך שבעת שליחת נתוני "הוספת הודעת חדשה" גם שם המשתמש יכלל .
אני מבין שלצורך זה יש לדעת Sessions טוב ..
למישהו יש מדריך טוב להציע לי ?
מדריך יש באתר הזה
במדריך asp אבל אפשר להישתמש גם בעוגיה…
קראתי .. אבל בכל זאת
אשמח אם מישהו יסביר לי קצת כיצד לצור טופס התחברות
כאשר משתמש מסויים התחבר למערכת – אוכל לאחסן את שם המשתמש
שלו במשתנה כלשהו ולהשתמש בו …
תודה
במדריך ה asp בפעם השניה בדף האחרון
תוכל לעשות זאת כך:
אם אתה רוצה להעביר את השם משתמש למשתנה אחר, אתה יכול לעשות זאת כך:
dim username
username=rs("username")
במידה ואתה רוצה ליצור session שמכיל עם השם משתמש, תכתוב כך:
Session("username") = rs("username")
על מנת להציג את הערך שיש ב session תעשה כך:
response.write Session("username")
תודה ידידי
יחסי גומלין
כיצד אפשרי לצור יחסי גומלין בין הודעה מסויימת לתגובותיה ?
אני מנסה לבנות פורום עץ ואני מתקשה לקשר בין כל תגובה לתגובה, לצור שרשורים וסידור נוח של הצגת ההודעות .
אשמח לעזרה :]
אני מבין שיש לך שתי טבלאות,
כי אתה רוצה לעשות קשרי גוומלין.
תעשה ככה:
תיכנס לחלק של הקשרי גומלין ותלחץ על הparent_id של טבלת התגובות, ותקשר בינו לבין הid של טבלת ההודעות.
זה אמור לעזור
כן אבל כאן
צריך להשתמש בתכונה join type ואז לבחור ב-RIGHT או LEFT
על כל פנים אני בעד סידור אחר של נתונים
או רקורסיה כמו שהדגמתי במאמרים שלי
או סידור ההודעות ע"י ORDER BY
שאני מניח שזה מה שנעשה כאן: http://www.sayit.co.il
השתמשתי במאמר שלך
של הרקורסיה .
הוא מסדר לי מצויין את התגובות, בדיוק כמו שרציתי.
אבל אני משתמש, כמו בפורום כאן, בspan ובdiv אשר פותחים באותו עמוד את ההודעה ולפי הקוד שהצגתי – לא מצאתי איפה אני יכול לדחוף את הקוד של הspan והקוד של הdiv ….
לפי עיני גם המאמר שלי עובד עם
ספנים ו-DIVHם
תציץ שוב
נכנסתי שוב למאמרך
נכנסתי ל והוא אינו כולל את המערך של פתיחת הודעות באותו דף בשיטה כמו בפורום זה …
במאמר מצויין כיצד להציג את הנושאים (subjects) ולא את התוכן של ההודעה (messageBody) … ניסיתי מספר צורות שונות אך אני לא מצליח לפתוח ולהציג את תוכן ההודעה בעת הלחיצה על פתיחת הודעה ..
בקיצור, אתה בטוח שיש במאמר את הופעת ההודעות והתכנים שלהם כמו בפורום זה ?
תודה
במאמר התוספות
במדור ASP מאמרים למתקדמים
מוסברים על כמה תוספות בקשר תצוגה ודברים נוספים שאנשים אוהבים בפורום עץ
הכל עובד טוב ויפה .. אבל
(עבדתי לפי מאמר התוספות שלך, אחלה מאמר) .
ישנה שגיאה :
אני מוסיף תגובה מסויימת להודעה כלשהי ובסיום השליחה הוא מודיע לי את השגיאה הבאה :
error '80020009'
Exception occurred.
/sup/frm/insMessage.asp, line 48
זה מכוון ל :
rsDt = CDate(rs.Fields("groupID"))
בדקתי את מסד הנתונים ובעצם משום מה התאריך (קראתי לו GroupID – במקום GroupDate אבל חפיף) לא נכנס למסד …
למה התאריך לא נכנס ?
…
תראה את הסאב-רטוינה insertNewRess ונראה מה לא טוב
ד"א החיבור שלך הוא OLEDB או ODBC אם ODBC אז רצוי לעבור ל-OLEDB)
נ.ב
את החלק הזה כתבתי ב-JS במקור והוא שונה ל-VBS בגלל ששאר המאמר גם כך
בבקשה
Sub insertNewRess(pId, MsgSubject, mess, rId)' פונקציה להכנסת תגובה חדשה
Dim SQLupdate, SQLinsert, rs, dt, rsDt
SQLinsert = "INSERT INTO Messages (parentid, MsgSubject, messageBody, rootId)"
SQLinsert = SQLinsert & " Values(" & pId & ",'" & MsgSubject & "','" & mess & "'," & rId & ")"
oConn.Execute SQLinsert
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT Messages.groupID FROM Messages WHERE Messages.messageID=" & rId, oConn
dt = Now()
rsDt = CDate(rs.Fields("groupID"))
if (rsDt<=dt) Then ' בדיקה האם ההודעה הראשית(הודעת השרשור) נעוצה או לא
SQLupdate = "UPDATE Messages SET Messages.groupID=now() WHERE Messages.messageID=" & rId
oConn.Execute SQLupdate
End If
rs.Close
Set rs = nothing
End Sub
אגב
כפתור הוספת הודעה חדשה אצלי נראה כך :
addMess.asp?messageID=0
וכאשר אני מוסיף הודעה הוא מחזיר לי :
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
/sup/frm/insMessage.asp, line 44
(אני לא מאמין שיש צורך להראות את השורה, השגיאה לדעתי היא בquerystring שרשמתי בקישור)..
לבעייתך
נסה לבדוק אם rs.EOF מתקיים (לאחר גיגול קטן מצאתי שהבעיה הזו כנראה קוראת בגלל שאתה ב-EOF)
השגיאה היא ב-Insert into
תדפיס את השאילתא (Response.Write sql)
תבדוק באמת שכל השדות מתאימים
לדוגמא pid באמת מספר…