![]() |
PHP | איך אתם מציעים לי לבנות את זה?
שלום...
אני מפתח כרגע מערכת ניהול לקוחות ומוצרים.... מטרת המערכת: לעשות רשימת מוצרים. להוסיף לקוח. ולהגדיר לו אילו מוצרים הוא רכש ומה התוקף של כל מוצר ביחס אליו. מה ז"א? נניח אבי קנה אחסון למשך שנה החל מהיום...אז התוקף הוא 07/06/2010. אך אם הוא קנה אחסון לשנה לפני חצי שנה אז התוקף שהכנסתי לו לפני חצי שנה(כשהוספתי אותו) הוא 07/01/2010. בשני המקרים המוצר ששייכתי הוא אותו מוצר: "אחסון שנתי". הלקוחות הם שונים, והתוקף שהכנסתי לגביי אותו המוצר הוא שונה. לכל לקוח יהיה ניתן לשייך מוצרים ללא הגבלה. מה שכבר עשיתי זה החלק הפשוט: ניהול מוצרים, ניהול לקוחות. השאלה שלי היא כזו: איך אתם מציעים לעשות את העניין של הגדרת מוצרים+תוקף לכל אחד מהם לכל לקוח ולקוח...? אני דיי לא יודע מאיפה להתחיל מבחינה אלגוריתמית...אז בטח שלא תכנותית. תודה רבה על העזרה, מתן. |
אין פה איזה אלגוריתם שצריך לכתוב (אם בא לך תכתוב, בזבוז זמן), זו בסה"כ פונקציה פשוטה.
מבחינת התוקף לכל לקוח מציע לך לקרוא על: http://www.php.net/manual/en/function.getdate.php זה מחזיר לך מערך שמכיל את כל המידע של הזמן והתאריך העכשווים במערכת בייצוגים מספריים וטקסטואלים . לאחר מכן, אתה יכול להכניס את התאריך שהכניס הלקוח לתוך מערך ובעצם ככה תוכל לבדוק ולהכניס נתונים בהתאם לשני המערכים. אם תצטרך עזרה בקוד אז בכיף, רצית כיוון פשוט. |
אז ככה
יש לך טבלה לניהול סוגי מוצרים שהיא משהו כמו id | name | expire_time_in_days | slug הסלאג זה סתם אולי תצטרך ניים - שם expire_... - זמן בימים (מספר כלומר נגיד 10) שיקח לדבר הזה לפוג מהיום התחלה שלו יש לך עוד טבלאת יחס בין מוצרים ליוזרים לסוגי מוצרים: id | product_type_id | user_id | start_time | notes שמכילה ID ID של הסוג מוצר מהטבלה הקודמת USER_ID של המשתמש שהוספת לו את המוצר START_TIME תאריך ב UNIX TIME STAMP של היום בו המוצר מתחיל לפעום NOTES סתם הערות כלליות עכשיו כדי לדעת אם המוצר "פג" אתה לוקח את התאריך של היום, מחסר ממנו את התאריך שבו נוסף המוצר, ובודק אם ההפרש הזה גדול מהזמן של המוצר בטבלת מוצרים - אם כן - המוצר פג אם לא הוא עדיין פועל (ואז ההפרש שלו עם ההפרש שעשית קודם בערך מוחלט יתן לך את הימים שנשארו עד שהוא יפוג) זה נראה מסובך - אבל זה לא |
אוקיי ניצן...הבנתי בגדול את מה שאתה אומר...אני אנסה את זה... תודה רבה.
אם תהיה בעיה, ארשום כאן. בכל אופן אשמח לשמוע עוד הצעות...אין לדעת מה אחרים חושבים:) |
יש אפשרות להוסיף לתאריך של היום 10 ימים נגיד???
נניח היום ה 08/06/2009 אז אם אני מוסיף 30 יום זה גם מקפיץ את ה"יום" וגם את ה"חודש"...? יש משהו כזה...? |
יש לך מוצרים, יש לך לקוחות. עכשיו תקשר ביניהם
תעשה טבלאת רכישות ID | UserID | ProductID | ExpireDate מן הסתם כשאתה מכניס רכישה חדשה, תכניס את הID של המשתמש ואת הID של המוצר, ותוקף תכניס ידנית, או תשתמש בסקריפט. בהצלחה עריכה: לא שמתי לב לתגובה של ניצן. הוא צודק במה שהוא אומר. |
ציטוט:
אתה סופר את הזמן עם UNIX TIME STAMP (אתה יכול לקבל אותו בPHP עם time() ) וזה מחזיר לך את הזמן הנוכחי בשניות מאז הראשון לראשון 1970 ואז יש לך פונקציות כמו DATE שמקבלות פורמט וטייםסטאמפ לדוגמא: date("d/m/y", time() ); בחישובים עצמם תעבור רק עם UNIX TIMESTAMP ובהדפסה ללקוח עם DATE או פונקציה אחרת שמייצרת משהו קריא מהמדידת שניות הזו |
תראה מה המטרה בגדול?
לשלוח מייל ללקוח כהתראה על כך שהמוצר פג תוקפו. אם אני רוצה לעשות שזה ישלח שבוע לפני התראה...אז איך אני מחסיר מהתאיך של היום 7 ימים...? לעשות מינוס 7 זה לא טוב בגלל שאם היום ה 5 לחודש נניח....אז התאריך יהיה כביכול -2/06/2009 (ה"יום" יהיה מינוס?!) מה אתה אומר, אפשר לחסר 7 ימים...? עריכה: מצאתי: PHP קוד:
המערכת עובדת:) |
כל הזמנים הם GMT +2. הזמן כעת הוא 07:24. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ