שלח תשובה

זירת השאלות

385
צפיות
34
תשובות

האם זה אפשרי ?

,‏ 10 באוגוסט, 2004

האם אפשרי להכניס נתונים לתוך מסד נתונים באמצעות טפסים ולהגדיר שבאתר עצמו (בדפי ההצגה) הנתונים כולם יופיעו רק בשעה מוגדרת, לדוגמא:
אני מכניס נתונים פעם ב14:23 ופעם ב17:41 ופעם ב19:55 – אני רוצה שבאתר הם לא יופיעו אלא יופיעו אך ורק בשעה 20:00 ומעלה … (בשעה המדוייקת כל הנתונים יופיעו) .
כיצד והאם זה אפשרי ?

תגיות:

34 תשובות

  1. GreenS הגיב:

    אפשרי
    אתה מכניס למד למשל now()
    ואז אתה קרוא למשתנה ואם הוא שווה לשעה שיראה אותו
    למשל השמתנה הוא: sa
    אז :


    if sa <> now() then
    response.write "" & rs("sa") & ""
    end if

  2. prince01 הגיב:

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

    תודה רבה אחי

  3. prince01 הגיב:

    אגב ..
    שהנתונים לא יופיעו רק ב20:00 ואז דקה אחרי זה יעלמו לי .. שישארו כל הזמן ..

  4. prince01 הגיב:

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

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

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

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

    כך אם הבנתי אותך


    SELECT <fields> FROM <table> WHERE fldTime>=#20:00:00#

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

  7. prince01 הגיב:

    אוקיי הבנתי, אבל משהו חסר
    זה לא בדיוק כפי שרציתי כי הסקריפט שאתה מציג בעצם יבחר לי את הרשומות שהתווספו למסד בשעה 20:00:00 ולא כך אני רוצה.
    אני רוצה להוסיף במשך היום רשומות ורק מהשעה 20:00:00 זה יופיע באתר .

    תודה על הניסיון בכל מקרה

  8. תעשה ככה
    תוסיף לאותה טבלה שדה yes/no שקובע אם החדשות באותה רשומה יוצגו.
    בעמוד שמציג את החדשות, תעשה לולאה ובתוכה תנאי שבודק אם השעה 8 או יותר, אם כן – הno הופך לyes, אם עוד לא, לא קורה כלום חוץ מהצגת שאר החדשות הישנות.
    ואז תעשה תנאי – אם יש סימון (yes) – תציג את החדשות, אם אין סימון (no) – אל תציג את החדשות.

  9. prince01 הגיב:

    סבבה ..
    הלולאה שלי לא הצליחה בעמוד של הצגת החדשות, אתה יכול לעזור לי לרשום אותה?

  10. משהו כזה..


    sql="select * from tbl where isNew=yes"
    rs.open sql, objConn

    if now()>=20:00:00 then
    rs("isNew")="yes"
    end if

    Do while not rs.EOF
    response.write rs("id") & "<br />" & rs("name")
    rs.movenext
    loop

  11. prince01 הגיב:

    ואפשר להגדיר …
    אפשר להגדיר בלולאה שisNew יהיה yes בין 20:00:00 ל 20:59:59 ?
    כי אני מפחד שזה יהיה YES רק בשעה 20:00:00 ומאייה אחרי זה זה יהיה NO .

    אגב, צריך else ללולאה  ? (שיהיה no אם השעה לא כך)

  12. אם כבר
    אז זה יהיה NO מאייה לפני זה… כי הוא מוגדר שכל עוד שהשעה עכשיו גדולה או שווה ל- 20:00, הערך יהיה YES. כלומר אם השעה תהיה 20:00:01 הערך יהיה YES. לעומת זאת, אם השעה תהיה 19:59:99 הערך יהיה NO.

    בקשר לשאלה שלך, אפשר לעשות ככה:
    if (now()>=20:00:00) and (now()<21:00:00) then
    rs("isNew")="yes"
    else
    rs("isNew")="no"
    end if

    אתה צריך else אם אתה רוצה שיהיה רשום no, אבל במידה ואתה רק רוצה לדעת אם הערך הוא yes אתה לא חייב לרשום no (כי במקום no לא יהיה רשום כלום, וכך הוא ישלוף רק את מה שהערך שלו yes). בכל אופן, הוספתי לדוגמה גם את ה- else אם אתה רוצה להיות "מסודר" יותר (אבל פחות יעיל).

  13. prince01 הגיב:

    אוקיי … לפי הדוגמא
    זה אומר שבשעה 21:00:00 הערך יחזור לno ? כי אם זה כך, זה מה שאני צריך

  14. כן, זה מה שזה אומר
    החל מהשעה 21:00:00 (כולל) הערך הוא NO.

  15. אבל בעצם..
    אתה רוצה שאחרי 21:00 הנתונים לא יופיעו? כלומר בין 20:00 ל- 21:00 הנתונים יוצגו, אבל לפני 20:00 או אחרי 21:00 שתהיה כתובה ההודעה "תכנס בין השעות 20:00 ל- 21:00" במקום שיוצגו הרשומות במסד? אם כן, הקוד צריך להראות כך:

    sql="select * from tbl"
    rs.open sql, objConn

    if (now()>=20:00:00) and (now()<21:00:00) then
    Do while not rs.EOF
    response.write rs("id") & "<br />" & rs("name")
    rs.movenext
    loop
    else
    response.write "תכנס בין השעות 20:00 ל- 21:00"
    end if
    אני קצת אסביר את השינויים שעשיתי בקוד. בגלל ששאילתת ה- SQL היא לבחור רק מה שמוגדר כ- YES, הוא יציג את זה בכל שעה של היום אחרי שבפעם הראשונה הוא קיבל את הערך YES, ואני לא חושב שלזה התכוונת. אם כוונתך הייתה שרק בין השעות הנ"ל, הגולש יוכל לראות את הנתונים במסד, תעשה כמו שעשיתי עכשיו.

    בהצלחה !!

  16. prince01 הגיב:

    פירוט קצת יותר מורחב על רצוני
    מה שאני רוצה בעצם זה להציג הודעה בדף הראשי : "האתר עודכן !" בין השעות 20:00 ל 21:00 .
    עכשיו בנושא הנתונים, אני רוצה שהם יהיו זמינים לגולש מהשעה 20:00:00 והילך.
    כך שבעצם אני צריך 2 לולאות אם אני לא טועה , אך כיצד אני משלב ומכין את הלולאות הללו ? חלק ראשון הבנתי ..

  17. לא ברור לי משהו..
    אתה רוצה שתהיה הודעה שתוצג בדף במידה והאתר עודכן בין השעות 20:00 ל- 21:00. אך בנוסף לזה, אתה רוצה שהגולשים יוכלו לראות את הרשומות במסד החל מ- 20:00? אם כן, אז אתה צריך להגיד עד מתי… כי אחרת זה יהיה עד מאית השנייה לפני חצות…

  18. prince01 הגיב:

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

    תודה אחי

  19. אני מציע שתעבור על מדריך VBSCRIPT
    בקשר לשאלה שלך.. עדיין לא הבנתי דבר אחד. אתה רוצה שכל ההודעות יוצגו בין השעות 20:00 ל- 08:00 ? וכאשר השעה למשל 19:00 לא תוצג אף רשומה מהמסד?
    אם כן, אז תעשה כך:
    sql="select * from tbl"
    rs.open sql, objConn

    if (now()>=20:00:00) or (now()<08:00:00) then
    Do while not rs.EOF
    response.write rs("id") & "<br />" & rs("name")
    rs.movenext
    loop
    else
    response.write "תכנס בין השעות 20:00 ל- 08:00"
    end if

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

    התכוונת ל-TIME ?
    NOW מחזיר תאריך מלא ו-TIME מחזיר זמן מלא

  21. prince01 הגיב:

    אוקיי תודה אחי אבל ..
    דבר אחרון (סליחה על ההטרדה) :
    כנראה שלא הבנת אותי נכון, בין השעות 20:00:00 ל08:00:00 תופיע ההודעה (סתם הודעה פשוטה טקסט) : "האתר עודכן" .
    ובשעה 20:00:00 הנתונים מכל היום שהוספתי באמצעות הטופס יופיעו במגזין.

    כאילו יש בדף הראשי הודעה : "סטטוס : האתר עודכן ! " (חלק ראשון)
    ובלי כל קשר, בשעה 20:00:00 הנתונים יופיעו (ללא הגבלת זמן , לצמיתות) .

    ואני עובר עכשיו בדיוק שוב על המדריך

  22. prince01 הגיב:

    זה נכון מה שכתבתי עכשיו (תכנס אחי)?
    החלוקה שלי תערך ל2 לולאות .
    אחת (האחראית על הופעת התוכן במגזין מהשעה 20:00) :


    sql="select * from tbl"
    rs.open sql, objConn

    if now()>=20:00:00 then
    Do while not rs.EOF
    response.write rs("id") & "<br />" & rs("name")
    rs.movenext
    loop
    end if

    והלולאה השנייה (האחראית על הופעת הודעת טקסט בין 20:00 ל8:00) :


    if (now()>=20:00:00) or (now()<08:00:00) then
    Do while not rs.EOF
    response.write "האתר עודכן"
    rs.movenext
    loop
    else
    response.write "האתר יתעדכן ב20:00"
    end if

    האם הקודים הללו יעבדו לי כפי שרציתי ?
    תודה מראש לניר, טל , תומר וGreenS !

  23. prince01 הגיב:

    ניסיתי . עבד חלקית
    תצורת הופעת השעה המדוייקת בלולאה אינה עובדת.
    (אגב השתמשתי בtime ולא בnow) : כאשר אני רושם :


    if (now()>=20:00:00)  then

    הוא משיב לי שגיאה של – הסימן "(" צפוי להיות בדיוק אחרי המספר 20 . כאילו הנקודתיים לא מתאימות, אז ניסיתי 2000 ולא חזרה שגיאה.
    השאלה היא כיצד אני רושם את הזמן שאני רוצה בלולאה כמו שצריך ? נקודתיים מחזיר שגיאה

  24. prince01 הגיב:

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


    <%
    Dim Conn, rsCatalog, i
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open ConString
    Set rsCatalog = Conn.Execute("SELECT * FROM bla")
    i=hour(time)
    if (i>=20) or (i<=03)  then
    While not rsCatalog.EOF
    %>
    <%= rsCatalog("bla_name") %>
      <%
    rsCatalog.MoveNext
    Wend
    rsCatalog.Close
    Set rsCatalog = Nothing
    %>
      <%
      else
      %>
    לא עודכן .. חזור מאוחר יותר

    <%
    end if
    %>

    חחחח אז זה עובד לי קיצר ואני שמח עד השמיים !
    תודה תודה תודה וסליחה על הטרחה ! (חרוז לילי)

  25. prince01 הגיב:

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

    נושא אחד הושלם
    נושא חדש צץ , אני לא מצליח להתמודד איתו ..

    חפשתי דרכים לשלב בין JS ול VB ולצור countdown שיספור לי בכל יום עד השעה 20:00 .
    עכשיו יש המון סקריפטים מוכנים המציעים את זה אבל יש להקליד בכל יום את התאריך המדוייק, אז ניסיתי להשתמש בפונקציות של date אבל זה לא עובד לי.
    כיצד אוכל לעשות זאת ?

  26. prince01 הגיב:

    אחרי הודעה זו לרשום תגובות
    שיהיה קצת סדר בעיניים  

  27. כי אי אפשר לעבוד בדף אחד….
    גם עם javascript וגם עם vb. אתה צריך לבחור שפה אחת ו"ללכת איתה עד הסוף"….

  28. שים לב…
    עניתי לך כתגובה ל"תודה גבר גבר…"

    כל הכבוד לך שאתה משרשר שאלות! יותר ויותר אנשים מתחילים ליישם זאת. וחד פעמי, עבור השאלה הבאה שלך תפתח נושא חדש, כי השרשור כבר לא קופץ <אבל שוב… חד פעמי>

  29. אפשר לעבוד רק עם שפת סקריפט אחת
    בצד שרת.

  30. prince01 הגיב:

    סבבה …
    שאלה הבאה – אשכול חדש ..
    10x על העזרה באשכול שלי אנשים !

שלח תשובה