View Single Post
ישן 10-01-07, 01:09   # 7
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

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

לחישוב שנה אני משתמש ב YEAR() בשאילתה
אבל מה עם חודש?
בוא אני יגלה לך סוד....

בכל מה שקשור בזמנים, אני תמיד משתמש ב TIME

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

עכשיו הפעולה היא מאד פשוטה : כל שניה קובעת, כלומר

נגיד הכנסת למסד את TIME ברגע ש IP נכנס למסד ועכשיו יש לך מספר בן 9 ספרות שאיתו אתה עובד.

עכשיו אם אני רוצה למשוך את כל האיפים שביקרו בחודש האחרון אז אני עושה משהו פשוט :
PHP קוד:
mysql_query("SELECT * FROM visitors WHERE lastvisit > '".(time() - 2592000)."'"
עכשיו אתה בטח שואל את עצמך מה זה לעזאזל 259200 ?

אני אסביר :

60 שניות בדקה
כפול 60 דקות בשעה (זה יוצא 3600)
כפול 24 ( 24 שעות ביום - זה יוצא 86400)

כלומר 86400 - זה מספר השניות שיש לנו ביום שלם
עכשיו אנחנו רוצים לחשב את זה עבור חודש אז אנחנו מכפילים את זה
ב 30 (כלומר 30 ימים)
יוצא לנו 2592000.

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

אותו דבר - לגבי שנה 86400 * 365 = שנה שלמה...


מקווה שהבנת את הרעיון.
  Reply With Quote