שלח תשובה

זירת השאלות

201
צפיות
33
תשובות

שאלונת

,‏ 30 ביוני, 2004

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

תגיות:

33 תשובות

  1. אוריקס הגיב:

    תשובה
    בשביל לעשות נעיצות:
    א. לא מומלץ שדה בוליאני
    ב. אם אתה כבר הולך על שדה בוליאני, ואתה רוצה שבעוד X זמן יקרה משהו, יש לך כמה אפשרויות:
    * להפעיל קובץ ASP מתוך מתזמן המשימות של השרת (אם יש לך גישה אליו, כמובן)
    * אם אתה עובד עם MS SQL תקבע JOB.
    *בטח שכחתי משהו

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

    שמע…
    את התיקון שלחתי למנהלי האתר אני מניח שהם עובדים עליו או שהם כותבים לי אי-מייל על משהו אני לא יודע

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

  3. MasterMind הגיב:

    שאלה אחרת
    זה בקשר למערכים …. אולי
    יש לי את הקוד הזה

    rs.Open "Select * from forum " , oConn,3,3

    If Not rs.EOF Then
    strForTest = rs.getString(2,-1, ",",",")
    myArray = Split(strForTest, ",")
    End If

    response.write myArray

    והטעות הזאת-


    Response object error ‘ASP 0106 : 80020005’

    Type Mismatch

    ?

    An unhandled data type was encountered.


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

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

    המאמר שלי תוקן
    עכשיו אין בו בעיות בקודים (מקווה לפחות)

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

    השורה נעשית בשורת ה-RESPONSE
    אם תאתחל את המשתנה לפני ה-IF לדעתי זה לא יקרה

  6. sirob הגיב:

    אתה לא יכול
    להחזיר מערך עם response.write. אחרי ה-split נשאר לך מערך, כדי להדפיס אותו אתה צריך להדפיס ככה:


    response.write myArr(0) & myArr(1)….

    או להשתמש בלולאה כדי להדפיס את כל החלקים של המערך.

  7. MasterMind הגיב:

    נכון….
    עכשיו זה פועל  תודה סירוב.
    עכשיו שאלה לניר אני לא מצליח לעשות נעיצות והקפצות ..
    אני חושב שהנעיצות קשורות להקפצות יכול להיות שכל ההודעות נעוצות ואז הבאה שאחריה לא תקפוץ ?

  8. MasterMind הגיב:

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

    תודה מראש   נועם צברי

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

    נעיצות והקפצות
    אתה צריך ליצור במסד עמודת תאריך בשם groupDate (למשל)
    אתה ממלא את העמודה הזו רק בהודעות הראשיות (שה-parentId שווה ל-0)
    בשאילתא אתה מסדר לפי העמודה הזו בסדר יורד (DESC)
    הנעיצה מתבצעת ע"י כך שנותנים בעמודה הזו תאריך גדול משל היום ובכך היא תהיה תמיד ראשונה. רק צריך להקפיד כאשר מכניסים תגובה להודעה נעוצה לא לשנות לה את ה-groupDate.
    העמודה הזו תיצור לך את ההקפצות לבד (כי זה בסדר DESC)

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

  10. MasterMind הגיב:

    הנה השאילתה שלי


    rs.Open "SELECT * FROM forum WHERE rootId in ("&subQuery&") ORDER BY groupDate DESC", oConn

    אם אתה רוצה את ה SUB QUERY אז הנה


    subSubQuery = "SELECT TOP "&(15 *x)&" fixedForum.rootId FROM fixedForum ORDER BY fixedForum.MaxmsgDate"

    if x<=0 then
    subQuery = "SELECT TOP 15 fixedForum.rootID FROM fixedForum ORDER BY fixedForum.rootID DESC, fixedForum.MaxmsgDate DESC"
    else
    subQuery = "SELECT TOP 15 fixedForum.rootID FROM fixedForum WHERE rootID not in (" & subSubQuery & ") ORDER BY fixedForum.rootID DESC, fixedForum.MaxmsgDate DESC"
    END if

    ולהבנה יותר מעמיקה צירפתי תמונה של המסד נתונים

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

    זה בסדר
    ותודה לאל מצאתי את השרשור כנס לקישור

  12. MasterMind הגיב:

    לא עובד לי
    הצבתי את כל* הקוד בתוך DISPLAY.JS
    וקראתי לו ככה


    <script language="JavaScript" src="Display.js"></script>

    * כשאני אומר כל הקוד אני מתכוון ממש כל הקוד גם קוד ה ASP וגם קוד ה JS

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

    תשים אותו בתוך עמוד ASP
    ASP
    זה מה שהילדה הסבירה

  14. אז תעשה ככה


    <script language="JavaScript" src="Display.asp"></script>

  15. MasterMind הגיב:

    —>
    וב DISPLAY אני צריך לשים את ה שורה הזאת ראשונה ?


    Response.ContentType="text/javascript"

  16. MasterMind הגיב:

    ניסיתי…
    הכנסתי את כל הקוד של הפורום לדף ASP וקראתי לו כמו שאמרתם לי
    וזה לא פועל זה לא מראה דף ולא כלום ….
    יש דרך אחרת ?

  17. MasterMind הגיב:

    אני כבר אסתדר נראה ….
    עכשיו יש לי שאלה אחרת איך זה שלכל אשכול יש צבע ומחוץ לו יש צבע בהיר יותר
    איך  עשיתם את זה … בטבלה (אם כן , איך?)

    (לבילד מה שענית לי בפורום צד לקוח לא כל כך נראה לי …)

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

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

  19. MasterMind הגיב:

    —>
    לא מצליח לי ….
    תוכל להביא לי דוגמא , עם הקוד של הפורום?

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

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

  21. MasterMind הגיב:

    TNX ניר אתה מצדיק את הכינוי שלך …

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

    הילדה מצדיקה את התואר שבכינוי שלי

  23. MasterMind הגיב:

    עוד משהו
    בעצם מספר שאלות
    1) איך אני קורא לתאריך ( INDEX+? ) ואיך אני ממקם אותו משמאל להודעה
    2) סתכלו מה יצא לי … אני לא רוצה שזה יהיה גם מסביב לתגובות רק מסביב לאשכול
    3) תנו לי רעיונות לצבעים לאתר ?      
    כי בהתחלה חשבתי על שחור וכחול אבל אז חברים שהראתי להם אמרו שזה לא נראה טוב ….

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

    כך:
    זה תלוי מה "ה-INDEX" שלו לפי השליפה למשל אם השליפה נראית כך:

    SELECT id(0), parentID(1), msgDate(2)
    FROM forum

    אז זה INDEX + "האינדקס" של השדה בשליפה (שים לב למספרים שכתבתי בשאילתא). מקרה הזה נקרא לתאריך כך: INDEX+2

    אני מציע לך כדי להבין את דרך העבודה הזו (שאני המצאתי ) לקרוא את המאמר שלי על getRows ב-JS (כי זה בעצם מה שמתבצע בפועל)

    2. יש את הלולאה הראשית שמוצאת את ההודעות הראשיות בלולאה הזו תגדיר DIV שיהיה לו CSS STYLE אחר

    3. אני בעיצוב לא משהו

  25. MasterMind הגיב:

    אוקיי עכשיו לשאלה אחרת
    רשמתי את השאילתה הזאת :
    היא אמורה  לקרוא למספר דברים ובינהם היא אמורה לקרוא ל FID


    rs.Open "SELECT forum.id, forum.parentId, forum.subject,forum.message,forum.rootId, forum.msgDate, forum.fid FROM forum WHERE forum.rootId in ("&subQuery&") AND forum.fid = cInt(Request.QueryString("fid")) ORDER BY forum.groupDate DESC ,forum.id", oConn

    הנה השגיאה:

    Microsoft JET Database Engine error ‘80040e10’

    No value given for one or more required parameters

    /Forum3/index.asp, line 42

    ושורה 42 היא שורת השאילתה (למעלה)
    בשורת הכתובת כתוב ככה


    http://localhost/Forum3/index.asp?fid=1

    תודה מראש  
    נועם צברי

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

    כך:


    rs.Open "SELECT forum.id, forum.parentId, forum.subject,forum.message,forum.rootId, forum.msgDate, forum.fid FROM forum WHERE forum.rootId in ("&subQuery&") AND forum.fid = "&cInt(Request.QueryString("fid"))&" ORDER BY forum.groupDate DESC ,forum.id", oConn

    הוספתי " & REQUEST & " במקום שצריך

  27. MasterMind הגיב:

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


    ADODB.Recordset error ‘800a0bcd’

    Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.

    /Forum3/forum.asp, line 45


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

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

    כי עברו חמישה ימים
    תעשה את זה:

    IF rs.EOF THEN
    Response.Write("no Records")
    Response.End()
    END IF

שלח תשובה