אני בונה פורום ורציתי לדעת… האם אני צריך לכל הודעה שמתווספת לפורום, לשמור בטבלה שלה את מס' התגובה? או שפשוט להציג את התוצאות וממילא הן יוצגו לפי הסדר בגלל המספור האוטומטי?
ואם אני אמור לעבוד לפי המספור האוטומטי, איך אני יכול לדעת איזה מס' תגובה התווספה ?..
אני רוצה DC אבל זה פתר לי את זה השאלה שלי הייתה כללית על פורום, לא ספציפית על רקורסיבי, מהמבנה של הקוד במאמר שכתבת הבנתי כבר את מה שרציתי, תודה בכלאופן 🙂
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (((msgs.parentID)=1) AND ((msgs.forumNum)=1) AND ((msgs.msgStatus)=1)) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
מממ אני מצטער, אבל אלו היו שאלות ששלחתי בשעות שונות, הן לא עלו לי ביחד, אם עולות לי כמה שאלות ביחד בוודאי שאכתוב אותן באותה הודעה, אבל אם יש לי בעיה ואחרי שעתיים יש לי עוד בעיה וכבר כתבתי את הראשונה, מכיוון שאין פה אפשרות עריכה, אין לי מה לעשות…
if (session("ID")="") or (session("ID")=0) then response.redirect("signIn.asp") End if
dim conn,rs1,rs2,SQL2,SQL1,ch,isUserLogged, currPage,i,pCount,numRecs
numRecs=50 currPage=1 if NOT request("currPage")="" Then currPage=Request("currPage") End if
Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("GCdbdatabase.mdb")
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) AND (msgs.msgID NOT IN ( SELECT TOP 50 msgID FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) ORDER BY msgs.msgPostTime, msgs.msgPostDate )) ORDER BY msgs.msgPostTime, msgs.msgPostDate" set rs1=conn.Execute(SQL1)
rs1.PageSize=numRecs rs1.CacheSize = numRecs
if Not rs1.EOF Then pCount=rs1.pageCount rs1.AbsolutePage=currPage End if
<% rs1.close conn.close set rs1= nothing set conn=nothing %>
וזה נותן לי את השגיאה הבאה:
Error Type: ADODB.Recordset (0x800A0BB9) Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. /GC/forums.asp, line 24
ADODB.Recordset (0x800A0E78) Operation is not allowed when the object is closed. /GC/forums.asp, line 63
שורה 63:
Do While Not rs1.EOF And rs1.pageSize>i
יש לציין שפתחתי את הרקורדסט אחרי שהגדרתי אותה מיד!!
set rs1 = Server.CreateObject("ADODB.Recordset")
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
if (session("ID")="") or (session("ID")=0) then response.redirect("signIn.asp") End if
dim conn,rs1,rs2,SQL2,SQL1,ch,isUserLogged, currPage,i,pCount,numRecs
numRecs=50 currPage=1 if NOT request("currPage")="" Then currPage=Request("currPage") End if
Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("GCdbdatabase.mdb") set rs1 = Server.CreateObject("ADODB.Recordset")
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
מה הכוונה ? הרי איפה שכתבת איפה שכתבת "date(newTime)" לא צריך להיות במקום DATE- שם הטבלה? איך הוא יידע לאיזה טבלה להכניס את הנתונים? ואם יש לי עוד שדות מסוג טקסט? כלומר, נניח ויש לי חוץ מ newTime עוד שדות בשם txtNAME ? שאני רוצה להכניס להם את הערך "צחי" ?
איך אפשר לעשות קישור שלא יעשה כלום? כלומר, יש לי סקריפט שאמור לעשות כמו פס גלילה אישי שאני מעצב.. על החצים למעלה ולמטה יש קישור שעושה את הגלילה…
בעת מעבר על החצים הדף נגלל, אבל יש בעיה שאם מישהו לוחץ על החצים (שהיעד שלהם הוא ל " # ") אז נפתח לו בתוך הפריים הפנימי של האתר- האתר שוב, כאילו כל הדף INDEX נפתח מחדש בתוך הפריים הפנימי… ואז יש פריים בתוך פריים בתוך פריים…
איך אני יכול לעשות שכשילחצו על הקישור הזה שום דבר לא יקרה?
איך אני יוצר option שכשמישהו בוחר מ משהו- זה מוסיף טקסט לאיזור טקסט שיש לי באותו טופס?
הרעיון הוא שיהיה בחירת צבע וכשמישהו יבחר צבע "אדום" זה יוסיף את התג "\אדום//" לתוך האיזור טקסט שיש לי בטופס ואח"כ הריפלייס משנה את זה ל<font color="red">…
איך אפשר לבדוק תת תגובות בפורום? אני רוצה שבפורום יראו הודעה ומתחת רשימה של כל התגובות עם התת-תגובות של התגובות… וכן הלאה.. (התת תת תת תגובות וכו'…)
הדרך פעולה שלי זה לכתוב את התגובה, ועל כל תגובה לבדוק בשאילתה חדשה אם יש תת תגובה (הID של התגובה הוא הPARENTID של התגובה ההיא…) אבל איך אני יכול לעשות את זה אינסופי? הרי יכולים להכניס 20 תגובות, אז אני צריך לעשות 20 בדיקות? איך אני יכול לעשות לולאה שעד שלא מוצאים שאין תגובה להודעה ההיא, היא לא מפסיקה לרוץ?
תסתכל במאמר שלי והפונקציה הרקורסיבית במאמר שלי מטרתה להדפיס את כל התגובות שיש להודעה מסוימת וכשאני אומר הודעה מסוימת אני מתכוון גם לתגובות. זה גם הבעייה בפורום רקורסיבי – שאם יש שרשור עם הרבה תתי תגובות אז זה נעשה איטי אבל פותרים זאת ע"י getString והעברה לצד הלקוח (במאמר ההרחבות שלי שיפורסם באתר בהמשך-המאמר נשלח למנהלי האתר)
בדף הראשי רואים את כל הנושאים של ההודעה, כותב ההודעה,מס' תגובות , תאריך הכתיבה ממוין מהחדש לישן… כשלוחצים על נושא, נפתח דף שבו כתובה ההודעה של הנושא (כמובן עם הנושא) ואני רוצה שמתחת יהיה שרשור של כותרות התגובות וכשלוחצים על תגובה- עדיין יראו את השרשור של התגובות רק הכותרת של התגובה שבה אתה נמצא כבר לא תהיה לחיצה (היא לא תהיה קישור) אבל עדיין יראו את התגובות של אותה הודעה מקורית שלחצתי עליה, שיראו שיש קשר להודעה ההיא…
איך אפשר לבנות את זה? הרי צריך לעבור בשביל זה על כל הרשומות כדי ליצור את העץ של התגובה….
עוד אפשרות שחשבתי לעשות זה לבנות את הדף של הצגת ההודעה בצורה כזו שמתחתיו כבר יהיו כתובות כל התגובות… אבל לפני זה יהיו קישורים של הנושאים שכל קישור יקפיץ למקום המסויים בדף שבו כתובה התגובה ההיא…
בכל אופן, השאלה העיקרית היא איך אני יכול ליצור אפילו אם יש לי את המס' הודעה 8 את כל העץ הזה שאני אדע ש8 היא תגובה על 4 ו4 היא תגובה על 2 ו2 היא תגובה על 1 וחוץ מזה יש עוד את 5 ו 6 שהם תגובות על 1…
כלומר, איך אני יכול לדעת ממספר בודד את כל העץ של ההודעה המקורית?
מה הכוונה ROOTID? שבעמודה תשמר ההודעה המקורית שאליה נשלחה התת תגובה? ומה לגבי התת-תת תגובה? איזה rootID יהיה לה? הרי הrootID יבלבל אותי במקרה הזה ויגרום לי לחשוב שהיא רק תת תגובה ולא התגובה של התת תגובה..?
מבין?… אני אף פעם לא יכול לדעת את השרשור המלא לגמרי…
לא הפרדה בין הודעה לתגובה אלא הפרדה בין שרשור לשרשור הודעה ראשית מקבלת ב-rootId את ה-ID של עצמה והתגובות להודעה הראשית מקבלות את ה-ID של ההודעה הראשית…
מה הבעיה בקוד הבא? זה משפט ההתחברות שלי לטבלה: Set rs2 = Server.CreateObject("ADODB.Recordset") SQL2="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, msgs.forumNum, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus, msgs.rootID,msgs.dUpdate,msgs.tUpdate, users.usernameTBL, users.EmailTBL, users.rankTBL, users.statusTBL FROM users INNER JOIN msgs ON users.userID = msgs.msgWriterID WHERE rootID=" & rs1("rootID") & " ORDER BY msgPostTime,msgPostDate" rs2.open SQL2,conn
אני מנסה להשתמש ב rs2.RecordCount והוא מביא לי את השגיאה הבאה:
Error Type: Microsoft VBScript runtime (0x800A01B6) Object doesn't support this property or method: 'RecordCound' /GC/showTopic.asp, line 125
84 תשובות
אני בונה פורום ורציתי לדעת…
האם אני צריך לכל הודעה שמתווספת לפורום, לשמור בטבלה שלה את מס' התגובה? או שפשוט להציג את התוצאות וממילא הן יוצגו לפי הסדר בגלל המספור האוטומטי?
ואם אני אמור לעבוד לפי המספור האוטומטי, איך אני יכול לדעת איזה מס' תגובה התווספה ?..
לא ממש הבנתי
יש מאמר באתר [מאת ניר]
קרא .
אבל בכל מקרה כל ההודעות מרוכזות בטבלה אחד
אבל אם הוא רוצה פורום DC
או כל סוג אחר של פורום שהוא לא רקורסיבי (לא כתוב כאן)
אוקי, תודה 🙂
אני רוצה DC אבל זה פתר לי את זה
השאלה שלי הייתה כללית על פורום, לא ספציפית על רקורסיבי, מהמבנה של הקוד במאמר שכתבת הבנתי כבר את מה שרציתי, תודה בכלאופן 🙂
על לא דבר
למה הוא מציג לי את השגיאה הבאה בפקו
בפקודה הבאה:
rs1.CacheSize=numRecs
הוא מציג לי את השגיאה הבאה:
Error Type:
ADODB.Recordset (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
יש בתוך numRecs ערך של 50, למה הוא מציג לי את השגיאה הזו?
אתה יכול להראות לנו את
השימוש המלא של הרקורדסט (כולל ה-SQL) — מתוך חיפוש בגוגל ראיתי שמישהו עשה קוד של חלוקה לדפים וגם לו קרא משהו כזה בגלל שורת ה-SQL
בבקשה, הנה שורת הSQL
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (((msgs.parentID)=1) AND ((msgs.forumNum)=1) AND ((msgs.msgStatus)=1)) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
הגרדת מפתחות ונעילות ?
מפתחות ונעילות? שו הדא?
אני די חדש בתחום, דבר איתי עברית 😉
יותר קוד, אם אפשר.
אנא שרשר שאלותיך
מממ אני מצטער, אבל
אלו היו שאלות ששלחתי בשעות שונות, הן לא עלו לי ביחד,
אם עולות לי כמה שאלות ביחד בוודאי שאכתוב אותן באותה הודעה, אבל אם יש לי בעיה ואחרי שעתיים יש לי עוד בעיה וכבר כתבתי את הראשונה, מכיוון שאין פה אפשרות עריכה, אין לי מה לעשות…
הכוונה בלשרשר
זה לכתוב את כל ההודעות(שאלות) שלך באותו אשכול
גם ההודעה נכתבה יומיים אחרי, ועדיין
ניתן להקפיץ אותה אתה מתבקש לשרשר שאלותיך…
אם אראה שהדיון יורד למטה אקפיץ – אותו בעצמי
אהה אוקי, הבנתי. סליחה.
הנה הקוד המלא, למה זה לא עובד?
<%
if (session("ID")="") or (session("ID")=0) then
response.redirect("signIn.asp")
End if
dim conn,rs1,rs2,SQL2,SQL1,ch,isUserLogged, currPage,i,pCount,numRecs
numRecs=50
currPage=1
if NOT request("currPage")="" Then
currPage=Request("currPage")
End if
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("GCdbdatabase.mdb")
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) AND (msgs.msgID NOT IN ( SELECT TOP 50 msgID FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) ORDER BY msgs.msgPostTime, msgs.msgPostDate )) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
set rs1=conn.Execute(SQL1)
rs1.PageSize=numRecs
rs1.CacheSize = numRecs
if Not rs1.EOF Then
pCount=rs1.pageCount
rs1.AbsolutePage=currPage
End if
%>
<HTML>
<head>
<style>
A:link { TEXT-DECORATION :underline}
A:link { color="#20739B"}
A:visited { TEXT-DECORATION :underline }
A:visited {color="#20739B"}
A:active { TEXT-DECORATION: underline }
A:hover {TEXT-DECORATION: none}
A:hover {color="#5ABFC3"}
</style>
</head>
<BODY background="images/BACKGROUND.gif" bgproperties="fixed" dir="rtl">
<div align="right">
<font face="Arial" size="2" color="#20739B">
<H3>פורום <%=rs1("forums.forumName")%> </H3><BR>
<table border=0 width=100% style="border-style :dotted; border-width: 1;">
<%
Do While Not rs.EOF And i<rs.pageSize
%>
<tr><td><a href="showTopic.asp?TopicID=<%=rs1("msgs.msgID")%>"><%=rs1("msgs.msgTopic")%></a></td></tr>
<%
i=i+1
rs.MoveNext
Loop
%>
</table>
</BODY>
</html>
<%
rs1.close
conn.close
set rs1= nothing
set conn=nothing
%>
וזה נותן לי את השגיאה הבאה:
Error Type:
ADODB.Recordset (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/GC/forums.asp, line 24
מישהו יודע?
תודה…
שכחתי להוסיף ששורת השגיאה…
שורה 24 היא:
rs1.CacheSize = numRecs
אתה לא פתחת את הרקורדט
לכן ברור שאתה לא יכול לשנות תכונות שלו…
ה Execute זה לא פותח את הרקורדסט?
אוקי, תודה, אבל יש עוד בעיה
Do While Not (rs1.EOF) And (i<rs1.pageSize)
על השורה הזו הוא נותן לי את השגיאה הזו:
Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: "
/GC/forums.asp, line 63
מה נסגר איתו? :-S
נסה כך
Do While (Not rs1.EOF) And (i<rs1.pageSize)
בכל מקרה, לוגית, למה אתה צריך את שני הפרמטרים?
לא עובד, אממ בשביל:
בשביל 2 המקרים האפשריים:
1. שהרשומה קטנה מ50 ( NOT rs1.EOF)
2. שהמונה לא יעבור את ה50…
שהוא לא יציג יותר מ50 רשומות בדף…
זה מהמדריך לחלוקה לעמודים פה באתר..
יש לך אולי עוד רעיון למה זה לא עובד?
צרף קוד מלא בבקשה.
הוא לא מזהה כאובייקט את rs1
כנראה שלא הגדרת אותו
set rs = Server.CreateObject("ADODB.Recordset")
טוב, עכשיו זה נותן לי את השגיאה הזו
ADODB.Recordset (0x800A0E78)
Operation is not allowed when the object is closed.
/GC/forums.asp, line 63
שורה 63:
Do While Not rs1.EOF And rs1.pageSize>i
יש לציין שפתחתי את הרקורדסט אחרי שהגדרתי אותה מיד!!
set rs1 = Server.CreateObject("ADODB.Recordset")
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
rs1.Open SQL1, conn, 3, 1
מה קרה?..
הראה בבקשה קוד מלא.
vbv
הנה…
סליחה על ההודעה "VBV" זה נשלח בטעות…
<%
if (session("ID")="") or (session("ID")=0) then
response.redirect("signIn.asp")
End if
dim conn,rs1,rs2,SQL2,SQL1,ch,isUserLogged, currPage,i,pCount,numRecs
numRecs=50
currPage=1
if NOT request("currPage")="" Then
currPage=Request("currPage")
End if
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("GCdbdatabase.mdb")
set rs1 = Server.CreateObject("ADODB.Recordset")
SQL1="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, users.usernameTBL, msgs.forumNum, forums.forumName, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus FROM users INNER JOIN (forums INNER JOIN msgs ON forums.forumID = msgs.forumNum) ON users.userID = msgs.msgWriterID WHERE (msgs.parentID=1) AND (msgs.forumNum=1) AND (msgs.msgStatus=1) ORDER BY msgs.msgPostTime, msgs.msgPostDate"
rs1.Open SQL1, conn, 3, 1
rs1.PageSize=numRecs
rs1.CacheSize=numRecs
if Not rs1.EOF Then
pCount=rs1.pageCount
rs1.AbsolutePage=currPage
End if
%>
<HTML>
<head>
<style>
A:link { TEXT-DECORATION :underline}
A:link { color="#20739B"}
A:visited { TEXT-DECORATION :underline }
A:visited {color="#20739B"}
A:active { TEXT-DECORATION: underline }
A:hover {TEXT-DECORATION: none}
A:hover {color="#5ABFC3"}
</style>
</head>
<BODY background="images/BACKGROUND.gif" bgproperties="fixed" dir="rtl">
<div align="right">
<font face="Arial" size="2" color="#20739B">
<table border=0 width=100% style="border-style :dotted; border-width: 1;">
<%
Do While Not rs1.EOF And rs1.pageSize>i
%>
<tr><td><a href="showTopic.asp?TopicID=<%=rs1("msgID")%>"><%=rs1("msgTopic")%></a></td></tr>
<%
i=i+1
rs1.MoveNext
Loop
%>
</table>
</BODY>
</html>
<%
rs1.close
conn.close
set rs1= nothing
set conn=nothing
%>
הנה הקוד המלא.. רואה את השגיאה?..
בנוגע להוספת נתונים לטבלה
האם כשאני מוסיף נתונים לטבלה ויש לי שדה אחד שהוא תאריך/שעה, אני צריך להשתמש במשפט הSQL הבא:
SQL="insert into date(newTime) values(" & Time() & ")"
האם זו הצורה שבה אני צריך לעבוד?
כשעשיתי ככה הוא אמר לי על המשפט SQL הזה את השגיאה הזו:
Syntax error (missing operator) in query expression '02:34:02'.
אנא שרשר שאלותיך!
אממ אז השירשור הזה הוא לליב טיים?
כאילו, אני נשאר עם השרשור הזה עד שנה הבאה? הוא יגדל ויגדל ויתפוצץ עם כל הבעיות שיש לי…
חשבתי על לשרשר את זה אבל השרשור גדול וזה לא נעים למשתמשים לקרא שרשור כ"כ שמן…
לי לא אכפת, להבא אני אשרשר,
תשתמש בפונק' המובנות של אקסס
SQL="insert into date(newTime) values(Time())"
רק עד שהוא מפסיק לקפוץ
מה הכוונה ? הרי איפה שכתבת
איפה שכתבת "date(newTime)" לא צריך להיות במקום DATE- שם הטבלה?
איך הוא יידע לאיזה טבלה להכניס את הנתונים?
ואם יש לי עוד שדות מסוג טקסט?
כלומר, נניח ויש לי חוץ מ newTime עוד שדות בשם txtNAME ?
שאני רוצה להכניס להם את הערך "צחי" ?
איך אני מוסיף בצורה כזו?…
איך אפשר לעשות קישור שלא יעשה כלום?
כלומר, יש לי סקריפט שאמור לעשות כמו פס גלילה אישי שאני מעצב..
על החצים למעלה ולמטה יש קישור שעושה את הגלילה…
בעת מעבר על החצים הדף נגלל, אבל יש בעיה שאם מישהו לוחץ על החצים (שהיעד שלהם הוא ל " # ") אז נפתח לו בתוך הפריים הפנימי של האתר- האתר שוב, כאילו כל הדף INDEX נפתח מחדש בתוך הפריים הפנימי… ואז יש פריים בתוך פריים בתוך פריים…
איך אני יכול לעשות שכשילחצו על הקישור הזה שום דבר לא יקרה?
ככה:
<a href="javascript:void(0)">link</a>
כך:
<a href="JavaScript:" >בלה </a>
או שאתה יכול לעשות span
ואז בעזרת JS להפוך את זה לכאילו קישור שיהיה יד כזו במעבר
תודה רבה! עכשיו נשאר לענות על השאלה
הקודמת שלי
date שם זה שם הטבלה…
רק חבל שזו מילה שמורה ב-SQL
אוקי, לאמשנה, הצלחתי, תודה!
האם אפשר גם לכתוב לתוך קובץ שיוצרים
כלומר, ע"י ASP אפשר ליצור קבצי TXT וכדו', על השרת..
האם גם אפשר לכתוב בתוך הקבצים הללו תוכן מסוים?
אני איך בasp.net אם זה עוזר…
לשם כך קיים ה-FSO
המדריך של FSO מאת סיגל בכמן
אני רואה שיש הרבה יתרונות לASP.NET
אולי שווה ללמוד את זה…
זה שונה לגמרי מASP? או שאפשר ללמוד את זה בצ'יק?..
כן, אבל עדיין, היא לא כותבת איך
מכניסים תוכן לתוך הקובץ..
היא רק אומרת איך יוצרים קובץ, לא איך מכניסים תוכן לקובץ…
אלו לא יתרונות
אני יודע לעשות את הדברים הללו פשוט בasp.net זה לא אומר שאי אפשר בasp אני בטוח שאפשר
וכן יש לה יתרונות רבים לך למדור asp.net באתר ותקרא את המדריך ובדוק בעצמך
האם צריך להתקין על השרת את האובייקט
של האי מייל כדי שהוא יעבוד? או שאפשר גם ככה?
כלומר, אני רוצה לעבוד עם CDONTS, ויש לי IIS על ווינדוס XP PRO, אני צריך להתקין את הCDONTS? או שהוא כבר מוגדר עם השרת SMTP שלי?
ואם כן, מאיפה אני צריך להוריד אותו? אפשר קישור בבקשה?
תודה 🙂
איןאפשרות להוסיף תוכן לקובץ TXT דרך
ASP רגיל?….
ליצור את הקובץ עצמו אני יודע, וגם במדריך של סיגל בכמן היא מזכירה את זה, אבל איך אפשר ליצור בתוך הקובץ תוכן מסויים?..
תודה! 🙂
עם XP בא האובייקט
CDO (להבדיל מ-CDONT) תוכל ללמוד עליו ב
איך אפשר להגדיר לאזור טקסט את הפונט
אני רוצה שהפונט של הכתב שבתוך האזור טקסט יהיה שונה מהברירת מחדל, איך אפשר לעשות את זה?
ועוד, איך אפשר לשנות לאיזור טקסט את צבע הרקע וכו'?..
תודה! 🙂
מזה בשיוק איזור טקסט?
אתה מתכוון לtextarea?
אם כן אתה פשוט עושה כך:
<textarea style=font-family:verdana;background-color:yellow>
text
</textarea>
תודה, ואת צבע הפונט שבפנים, אפשר ?
אפשר לשנות?
כן
<textarea style=font-family:verdana;background-color:yellow;color:red>
text
</textarea>
אההה תודה! 🙂
איך אני יוצר option שכשמישהו בוחר מ
משהו- זה מוסיף טקסט לאיזור טקסט שיש לי באותו טופס?
הרעיון הוא שיהיה בחירת צבע וכשמישהו יבחר צבע "אדום" זה יוסיף את התג "\אדום//" לתוך האיזור טקסט שיש לי בטופס ואח"כ הריפלייס משנה את זה ל<font color="red">…
איך אני יכול לעשות את הoption הזה?
כך
<script language="javascript">
function addSmile(smile) {
document.frm1.txt.value+=" "+smile;
}
</script>
<body dir="rtl">
<form name="frm1">
<input type="radio" name="txtColor" value="red" onclick="addSmile('[אדום] [/אדום]')"> אדום<br>
<input type="radio" name="txtColor" value="blue" onclick="addSmile('[כחול] [/כחול]')"> כחול<br>
<input type="radio" name="txtColor" value="green" onclick="addSmile('[ירוק] [/ירוק]')"> ירוק<br><br>
<textarea cols="40" rows="16" name="txt">טקסט..
</textarea>
</form>
</body>
אני מניח שכבר יש לך את הרפלייס, נכון?
תודה רבה!!! אבל…
יש לי את הרפלייסים, תודה.
אבל ביקשתי ע"י בחירת OPTION ולא ע"י כפתורי רדיו… אבל לא נורא, זה גם טוב 🙂
תודה רבה!!! 🙂
והנה עם option
<script language="javascript">
function addColor(color) {
document.frm1.txt.value+=" "+color;
}
</script>
<body dir="rtl">
<form name="frm1">
<input type="radio" name="txtColor" value="red" checked onClick="addColor('[אדום] [/אדום]')"> אדום<br>
<input type="radio" name="txtColor" value="blue" onClick="addColor('[כחול] [/כחול]')"> כחול<br>
<input type="radio" name="txtColor" value="green" onClick="addColor('[ירוק] [/ירוק]')"> ירוק<br><br>
<select name="txtColor2" onChange='addColor(" "+"["+(this.form.txtColor2.value)+"]"+" "+"[/"+(this.form.txtColor2.value)+"]")'>
<option value="טורקיז" selected>טורקיז
<option value="תכלת">תכלת
<option value="צהוב">צהוב
</select><br><br>
<textarea cols="40" rows="16" name="txt">טקסט..
</textarea>
</form>
</body>
תודה רבה! 🙂
איך אפשר לבדוק תת תגובות בפורום?
אני רוצה שבפורום יראו הודעה ומתחת רשימה של כל התגובות עם התת-תגובות של התגובות…
וכן הלאה.. (התת תת תת תגובות וכו'…)
הדרך פעולה שלי זה לכתוב את התגובה, ועל כל תגובה לבדוק בשאילתה חדשה אם יש תת תגובה (הID של התגובה הוא הPARENTID של התגובה ההיא…)
אבל איך אני יכול לעשות את זה אינסופי? הרי יכולים להכניס 20 תגובות, אז אני צריך לעשות 20 בדיקות?
איך אני יכול לעשות לולאה שעד שלא מוצאים שאין תגובה להודעה ההיא, היא לא מפסיקה לרוץ?
מקווה שהבנתם.. .:)
תודה מראש 🙂
אם זה פורום רקורסיבי
אז יש מאמר שלי באתר
אם זה DC אתה לא צריך לעושת כך
שמחתי לעזור
לולאה אין סופית??
אתה מתכוון loop?
בתור התחלה,
הייתי עושה רקורסיה, שזוהי בדיוק המהות שלה – הפעלת אותה פונקציה עד ש….
כמו במאמר שלי
מכניסים הכל למערך getRows ולאחר מכן בודקים
זה בדיוק מה שאני שואל, איך אני בודק
איך אני בודק שלהודעה שמוצגת כתגובה, אין תת הודעה, ועוד תת הודעה, ועוד תת הודעה..
הרי יכולים להיות תתי הודעות כמספר ההודעות שיש בפורום,
אולי (מצב קיצוני למדי) יש בפורום 100 הודעות שהם מורכבים מהודעה ראשית ומתגובה של תגובה של תגובה של תגובה של תגובה של תגובה…. וכו'…
מה אני צריך לעבור בכל תגובה שאני מוסיף על כל ההודעות ולבדוק אם להודעה X יש תגובה ואם להודעה X1 יש תגובה?
ולכל תת הודעה? אין לזה סוף…
תסתכל במאמר שלי והפונקציה
הרקורסיבית במאמר שלי מטרתה להדפיס את כל התגובות שיש להודעה מסוימת
וכשאני אומר הודעה מסוימת אני מתכוון גם לתגובות. זה גם הבעייה בפורום רקורסיבי – שאם יש שרשור עם הרבה תתי תגובות אז זה נעשה איטי אבל פותרים זאת ע"י getString והעברה לצד הלקוח (במאמר ההרחבות שלי שיפורסם באתר בהמשך-המאמר נשלח למנהלי האתר)
מה המשמעות של השורות הבאות במאמר שך
שלך*:
for a=0 to uBound(recArray,2)
if recArray(1,a) = recArray(0,index) Then
call showMessage(a) 'הצגת התגובות
end if
next
זה נמצא בפונ' הרקורסיבית, מה המשמעות של הקוד הזה?
להציג את כל התגובות של
התגובה הנוכחית
מה שאני מנסה לעשות בעצם זה
פורום בצורה הבאה:
בדף הראשי רואים את כל הנושאים של ההודעה, כותב ההודעה,מס' תגובות , תאריך הכתיבה ממוין מהחדש לישן… כשלוחצים על נושא, נפתח דף שבו כתובה ההודעה של הנושא (כמובן עם הנושא) ואני רוצה שמתחת יהיה שרשור של כותרות התגובות וכשלוחצים על תגובה- עדיין יראו את השרשור של התגובות רק הכותרת של התגובה שבה אתה נמצא כבר לא תהיה לחיצה (היא לא תהיה קישור) אבל עדיין יראו את התגובות של אותה הודעה מקורית שלחצתי עליה, שיראו שיש קשר להודעה ההיא…
איך אפשר לבנות את זה? הרי צריך לעבור בשביל זה על כל הרשומות כדי ליצור את העץ של התגובה….
עוד אפשרות שחשבתי לעשות זה לבנות את הדף של הצגת ההודעה בצורה כזו שמתחתיו כבר יהיו כתובות כל התגובות…
אבל לפני זה יהיו קישורים של הנושאים שכל קישור יקפיץ למקום המסויים בדף שבו כתובה התגובה ההיא…
בכל אופן, השאלה העיקרית היא איך אני יכול ליצור אפילו אם יש לי את המס' הודעה 8 את כל העץ הזה שאני אדע ש8 היא תגובה על 4 ו4 היא תגובה על 2 ו2 היא תגובה על 1 וחוץ מזה יש עוד את 5 ו 6 שהם תגובות על 1…
כלומר, איך אני יכול לדעת ממספר בודד את כל העץ של ההודעה המקורית?
צריך להוסיף עמודת rootId
שתעשה קיבוץ של הרשומות לשרשור וכך אפשר לשולף בדף השני את הרשומות הרלוונטיות
מה הכוונה ROOTID?
שבעמודה תשמר ההודעה המקורית שאליה נשלחה התת תגובה?
ומה לגבי התת-תת תגובה? איזה rootID יהיה לה? הרי הrootID יבלבל אותי במקרה הזה ויגרום לי לחשוב שהיא רק תת תגובה ולא התגובה של התת תגובה..?
מבין?… אני אף פעם לא יכול לדעת את השרשור המלא לגמרי…
rootId זו עמודה חדשה
שמקלת את ההודעה הראשית של כל השרשור ובכך אפשר לשלוף את השרשור הרלוונטי
אוקי, אבל אז אני מפריד בין תגובות
אבל אז אני מפריד בין תגובות להודעות רגילות, הרי להודעה רגילה אין RootID…
לא הפרדה בין הודעה לתגובה אלא
הפרדה בין שרשור לשרשור
הודעה ראשית מקבלת ב-rootId את ה-ID של עצמה
והתגובות להודעה הראשית מקבלות את ה-ID של ההודעה הראשית…
אההה הבנתי! תודה 🙂
מה הבעיה בקוד הבא?
זה משפט ההתחברות שלי לטבלה:
Set rs2 = Server.CreateObject("ADODB.Recordset")
SQL2="SELECT msgs.msgID, msgs.msgTopic, msgs.msgBody, msgs.parentID, msgs.msgViews, msgs.msgWriterID, msgs.forumNum, msgs.msgPostTime, msgs.msgPostDate, msgs.msgWriterIP, msgs.msgStatus, msgs.rootID,msgs.dUpdate,msgs.tUpdate, users.usernameTBL, users.EmailTBL, users.rankTBL, users.statusTBL FROM users INNER JOIN msgs ON users.userID = msgs.msgWriterID WHERE rootID=" & rs1("rootID") & " ORDER BY msgPostTime,msgPostDate"
rs2.open SQL2,conn
אני מנסה להשתמש ב rs2.RecordCount והוא מביא לי את השגיאה הבאה:
Error Type:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method: 'RecordCound'
/GC/showTopic.asp, line 125
שורה 125:
for b= 1 to rs2.RecordCound
מה הבעיה?..
כתבת recordCount עם d בסוף
ותוסיף לשורת החיבור שלך מפתח סטטי
rs2.Open SQL2, conn, 3
אה תודה,
מה זה אומר המפתח הסטטי? מה זה מוסיף?
מאפשר למשל להשתמש בשיטה זו
תיכנס למדריך ASP (בסיס נתונים חלק ב')
אוקי, תודה.