הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בניית פורום[הודעות חדשות/ישנות] (https://hosts.co.il/forums/showthread.php?t=71925)

tbm 11-02-09 18:43

בניית פורום[הודעות חדשות/ישנות]
 
למישהו יש רעיון איך אני יכול לבצע בדיקה אם קראתי כבר את ההודעה או לא מאז שפורסמה או מאז שהתקבלה תגובה על ההודעה בפורום
אני בונה אותו בPHP
אשמח לקבל רעיונות לאלגוריתמים יעילים

Shillo 11-02-09 18:54

Cookies?

אלטרנטיבה נוספת היא ליצור רשומה במסד שתכיל מספרי ID של הודעות אשר מופרדים בסימן כלשהו, נניח "|", להכניס לתוך מערך ולפצל אותו על פי "|".

Erez | TrustMedia.co.il 11-02-09 18:55

תסתכל במערכות פורומים כמו IPB או PHPBB ותראה איך הם עשו את זה

O-B 11-02-09 19:39

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

dor77 11-02-09 19:49

ציטוט:

נכתב במקור על ידי O-B (פרסם 697823)
אתה שומר את הכניסה האחרונה של המשתמש במסד
וכשהוא נכנס אתה בודק אם ההודעה נכתבה אחרי הזמן הזה ז"א שלא קראתי אותו אם לפני אז קראתי אותו כבר..

זה לא נכון כי הודעות חדשות יכולות גם להיות הודעות שהמשתמש לא קרה עוד.
לפותח האשכול - אתה רוצה לפי זמן מסויים ואז מה ש O-B הביא לך זה נכון, או שאתה רוצה שהודעה חדשה היא תיהיה הודעה שלא קראו?

tbm 11-02-09 20:03

ציטוט:

נכתב במקור על ידי dor77 (פרסם 697824)
זה לא נכון כי הודעות חדשות יכולות גם להיות הודעות שהמשתמש לא קרה עוד.
לפותח האשכול - אתה רוצה לפי זמן מסויים ואז מה ש O-B הביא לך זה נכון, או שאתה רוצה שהודעה חדשה היא תיהיה הודעה שלא קראו?

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

vadimg88 11-02-09 20:33

יש גבול למידע שאתה יכול לשמור בעוגיה.

tbm 11-02-09 20:40

כן אני יודע שיש גבול למידע שניתן לשמור בעוגיה אבל אני דיברתי עכשיו על טבלה ואמרו פה שניתן לעשות את זה עום עוגיות השאלה שלי איך אפשר לעשות את זה עם עוגיות

Derey22 11-02-09 21:32

הבעיות עם קוקיז:
1)במחשב אחר אתה לא תראה את ההודעות כנקראו.
2)קוקיז נמחק לאחר כמה זמן,

tbm 11-02-09 21:33

אמממ צודק אז מה אתם מציעים לעשות? איך ניתן לעשות את החלק הזה

vadimg88 11-02-09 21:33

1. נכון.
2. אפשר להגדיר את הזמן שלאחריו הוא נמחק, אז זה פחות קריטי.

כנראה שמסד יהיה עדיף. מאשר עוגיות כשזה נוגע למשתמש רשום, ועוגיות למשתמש שלא רשום.

tbm 11-02-09 21:58

במערכת פורומים המפורסמות כגון PHPBB ו IPB לא נראה לי שהשתמשו במסד
זה גם לא כזה יעיל תחשוב שיש לך נגיד 3000 משתמשים ויש לך 10 אלף הודעות אז שמשתמש יקרא את כל ההודעות זאת אומרת שיש לי כבר 10 אלף רשומות במסד נתונים לא חבל?

vadimg88 11-02-09 22:10

לא יודע לגבי PHPBB אבל ב IPB זה משהו שמהווה בעיה כבר הרבה זמן. אני לא יודע בידיוק איך הם פתרו את זה ב IPB 3 , אבל יש 2 טבלאות בשם core_item_markers, core_item_markers_storage שמשמשות למטרה זו. הם הוסיפו אפשרויות לפורומים עם הרבה משתמשים והרבה הודעות שיהיה ניתן למזער את הנזק שזה יוצר. אבל כן זה משהו שהוא בעייתי ופתרון טוב עוד לא ראיתי.

Ron | CSite.co.il 11-02-09 23:35

ציטוט:

נכתב במקור על ידי tbm (פרסם 697856)
במערכת פורומים המפורסמות כגון PHPBB ו IPB לא נראה לי שהשתמשו במסד
זה גם לא כזה יעיל תחשוב שיש לך נגיד 3000 משתמשים ויש לך 10 אלף הודעות אז שמשתמש יקרא את כל ההודעות זאת אומרת שיש לי כבר 10 אלף רשומות במסד נתונים לא חבל?

איך הגעת לחישוב הזה ?

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

כך שבעצם אתה יכול לארגן את זה על ידי הוספת שדה,
כלומר, 3,000 רשומים = 3,000 רשומות שבכל מקרה קיימות לך ובכל מקרה אתה מבצע שליפה שלהן בדפים שלך.

בהצלחה.

AlmogBaku 12-02-09 12:32

לדעתי-
אתה צריך לרשום בDB ומוחק הודעות שכבר לא בעמוד הראשון של הפורום[אוטומאטי בכל עמוד].


כל הזמנים הם GMT +2. הזמן כעת הוא 04:21.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ