10-05-2006, 08:08
|
|
|
חבר מתאריך: 13.12.05
הודעות: 1,963
|
|
מבחינה פילוסופית, אם לאתר שלך אין מבקרים (או בשכבה המקצועית, אין מי שיריץ סקריפטים), אין טעם שהוא ישלח מייל.
כמו שישראל הציע, תחזיק תא במסד הנתונים שמכיל אם שלחת את המייל.
תחזיק שם את התאריך של המייל הבא, אם היעד עבר, תשלח ותעדכן את התאריך לזמן הבא.
לגבי מי מחובר זה כבר משהו אחר.
לא הסתכלתי יותר מידי על פתרונות אבל לי יצא להשתמש בטבלה מסוג MEMORY ולשמור שם נתונים מינימליים בכל רענון של עמוד:
קוד:
INSERT INTO tblOnlines SET userID = $userID, userNick = $userNick, updateTime = NOW()
ON DUPLICATE KEY UPDATE updateTime = NOW()
יכול להיות שיש טעות או שניים פה בקוד (אני לא זוכר את הפקודות הללו בעל-פה)
עכשיו כשאני מציג רשימת משתמשים כלשהי, או משתמש כלשהו, אני משתמש בLEFT JOIN עם אחת מפעולות הDATE בMySQL, לדוגמא:
קוד:
SELECT tblUsers.*, tblOnlines.userID FROM
tblUsers LEFT JOIN tblOnlines ON
tblUsers.userID = tblOnlines.userID AND
tblOnlines.updateTime > DATE_SUB(NOW(), INTERVAL 15 MINUTES)
WHERE .....
אם tblOnlines.userID החזיר ערך כלשהו, המשתמש מחובר, אם לא, הוא מנותק.
נערך לאחרונה ע"י GreenBerret בתאריך 10-05-2006 בשעה 08:11.
|