385
צפיות
צפיות
34
תשובות
תשובות
האם זה אפשרי ?
האם אפשרי להכניס נתונים לתוך מסד נתונים באמצעות טפסים ולהגדיר שבאתר עצמו (בדפי ההצגה) הנתונים כולם יופיעו רק בשעה מוגדרת, לדוגמא:
אני מכניס נתונים פעם ב14:23 ופעם ב17:41 ופעם ב19:55 – אני רוצה שבאתר הם לא יופיעו אלא יופיעו אך ורק בשעה 20:00 ומעלה … (בשעה המדוייקת כל הנתונים יופיעו) .
כיצד והאם זה אפשרי ?
34 תשובות
אפשרי
אתה מכניס למד למשל now()
ואז אתה קרוא למשתנה ואם הוא שווה לשעה שיראה אותו
למשל השמתנה הוא: sa
אז :
if sa <> now() then
response.write "" & rs("sa") & ""
end if
הבנתי את הרעיון אבל ..
לא הבנתי לגמרי את הקוד שהצגת ..
תוכל לתת לי דוגמא יותר מוחשית (משתנים לפי בחירתך) ..
תודה רבה אחי
אגב ..
שהנתונים לא יופיעו רק ב20:00 ואז דקה אחרי זה יעלמו לי .. שישארו כל הזמן ..
האם אפשרי לשלב
בין JS לצד שרת (ASP) כך שהסקריפט יברר את השעה באמצעות צד השרת ומבחינה ויזואלית הדיגיטליות שלו תעבוד לפי JS ?
אם כן, כיצד אוכל לעשות זאת ?
אפשרי ברמת ה SQL
ולכן הקוד שלך קצת בזבזני…
כיצד זה אפשרי ?
כך אם הבנתי אותך
SELECT <fields> FROM <table> WHERE fldTime>=#20:00:00#
רק לא זכור לי אם באקסס גם על TIME צריך לשים סולמיות או לא כאשר TIME הוא בשדה תאריך/שעה(אז שמתי ליתר ביטחון)
אוקיי הבנתי, אבל משהו חסר
זה לא בדיוק כפי שרציתי כי הסקריפט שאתה מציג בעצם יבחר לי את הרשומות שהתווספו למסד בשעה 20:00:00 ולא כך אני רוצה.
אני רוצה להוסיף במשך היום רשומות ורק מהשעה 20:00:00 זה יופיע באתר .
תודה על הניסיון בכל מקרה
תעשה ככה
תוסיף לאותה טבלה שדה yes/no שקובע אם החדשות באותה רשומה יוצגו.
בעמוד שמציג את החדשות, תעשה לולאה ובתוכה תנאי שבודק אם השעה 8 או יותר, אם כן – הno הופך לyes, אם עוד לא, לא קורה כלום חוץ מהצגת שאר החדשות הישנות.
ואז תעשה תנאי – אם יש סימון (yes) – תציג את החדשות, אם אין סימון (no) – אל תציג את החדשות.
סבבה ..
הלולאה שלי לא הצליחה בעמוד של הצגת החדשות, אתה יכול לעזור לי לרשום אותה?
משהו כזה..
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
ואפשר להגדיר …
אפשר להגדיר בלולאה שisNew יהיה yes בין 20:00:00 ל 20:59:59 ?
כי אני מפחד שזה יהיה YES רק בשעה 20:00:00 ומאייה אחרי זה זה יהיה NO .
אגב, צריך else ללולאה ? (שיהיה no אם השעה לא כך)
אם כבר
אז זה יהיה 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 אם אתה רוצה להיות "מסודר" יותר (אבל פחות יעיל).
אוקיי … לפי הדוגמא
זה אומר שבשעה 21:00:00 הערך יחזור לno ? כי אם זה כך, זה מה שאני צריך
כן, זה מה שזה אומר
החל מהשעה 21:00:00 (כולל) הערך הוא NO.
אבל בעצם..
אתה רוצה שאחרי 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, ואני לא חושב שלזה התכוונת. אם כוונתך הייתה שרק בין השעות הנ"ל, הגולש יוכל לראות את הנתונים במסד, תעשה כמו שעשיתי עכשיו.
בהצלחה !!
פירוט קצת יותר מורחב על רצוני
מה שאני רוצה בעצם זה להציג הודעה בדף הראשי : "האתר עודכן !" בין השעות 20:00 ל 21:00 .
עכשיו בנושא הנתונים, אני רוצה שהם יהיו זמינים לגולש מהשעה 20:00:00 והילך.
כך שבעצם אני צריך 2 לולאות אם אני לא טועה , אך כיצד אני משלב ומכין את הלולאות הללו ? חלק ראשון הבנתי ..
לא ברור לי משהו..
אתה רוצה שתהיה הודעה שתוצג בדף במידה והאתר עודכן בין השעות 20:00 ל- 21:00. אך בנוסף לזה, אתה רוצה שהגולשים יוכלו לראות את הרשומות במסד החל מ- 20:00? אם כן, אז אתה צריך להגיד עד מתי… כי אחרת זה יהיה עד מאית השנייה לפני חצות…
צודק . והנה שעת הסיום
צודק אחי , לא חשבתי על זה ..(סליחה)
אני רוצה שההודעה בתוצג בדף על העדכון תחדול מלהופיע בשעה 08:00:00 (בבוקר כמובן) .
תודה אחי
אני מציע שתעבור על מדריך 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
התכוונת ל-TIME ?
NOW מחזיר תאריך מלא ו-TIME מחזיר זמן מלא
כן
אוקיי תודה אחי אבל ..
דבר אחרון (סליחה על ההטרדה) :
כנראה שלא הבנת אותי נכון, בין השעות 20:00:00 ל08:00:00 תופיע ההודעה (סתם הודעה פשוטה טקסט) : "האתר עודכן" .
ובשעה 20:00:00 הנתונים מכל היום שהוספתי באמצעות הטופס יופיעו במגזין.
כאילו יש בדף הראשי הודעה : "סטטוס : האתר עודכן ! " (חלק ראשון)
ובלי כל קשר, בשעה 20:00:00 הנתונים יופיעו (ללא הגבלת זמן , לצמיתות) .
ואני עובר עכשיו בדיוק שוב על המדריך
זה נכון מה שכתבתי עכשיו (תכנס אחי)?
החלוקה שלי תערך ל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 !
ניסיתי . עבד חלקית
תצורת הופעת השעה המדוייקת בלולאה אינה עובדת.
(אגב השתמשתי בtime ולא בnow) : כאשר אני רושם :
if (now()>=20:00:00) then
הוא משיב לי שגיאה של – הסימן "(" צפוי להיות בדיוק אחרי המספר 20 . כאילו הנקודתיים לא מתאימות, אז ניסיתי 2000 ולא חזרה שגיאה.
השאלה היא כיצד אני רושם את הזמן שאני רוצה בלולאה כמו שצריך ? נקודתיים מחזיר שגיאה
לא משנה, הצלחתי דבר חדש ..
עשיתי תחכום קטן .. זמן לפי שעה .
עשיתי כך :
<%
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
%>
חחחח אז זה עובד לי קיצר ואני שמח עד השמיים !
תודה תודה תודה וסליחה על הטרחה ! (חרוז לילי)
יישר כוח
תודה גבר גבר שאלה חדשה
קודם כל תודה רבה לך אחי על העזרה, לדעתי אני אפילו אמקם קרדיט לחברי פורום וובמאסטר באתר שלי (בקרוב תראו, אתר בהיקף מושקע) .
נושא אחד הושלם
נושא חדש צץ , אני לא מצליח להתמודד איתו ..
חפשתי דרכים לשלב בין JS ול VB ולצור countdown שיספור לי בכל יום עד השעה 20:00 .
עכשיו יש המון סקריפטים מוכנים המציעים את זה אבל יש להקליד בכל יום את התאריך המדוייק, אז ניסיתי להשתמש בפונקציות של date אבל זה לא עובד לי.
כיצד אוכל לעשות זאת ?
אחרי הודעה זו לרשום תגובות
שיהיה קצת סדר בעיניים
כי אי אפשר לעבוד בדף אחד….
גם עם javascript וגם עם vb. אתה צריך לבחור שפה אחת ו"ללכת איתה עד הסוף"….
שים לב…
עניתי לך כתגובה ל"תודה גבר גבר…"
כל הכבוד לך שאתה משרשר שאלות! יותר ויותר אנשים מתחילים ליישם זאת. וחד פעמי, עבור השאלה הבאה שלך תפתח נושא חדש, כי השרשור כבר לא קופץ <אבל שוב… חד פעמי>
אפשר לעבוד רק עם שפת סקריפט אחת
בצד שרת.
סבבה …
שאלה הבאה – אשכול חדש ..
10x על העזרה באשכול שלי אנשים !