ציטוט:
נכתב במקור על ידי 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 = שנה שלמה...
מקווה שהבנת את הרעיון.