![]() |
# 1 |
חבר וותיק
|
הכנסה אוטומטית למסד.
שלום.
אני מעוניין בדרך בה המסד נתונים יתעדכן אוטומטית בתכנים. למשל, במצב של טיסה ארוכה או שהייה ארוכה בצבא, אני רוצה שבכל יום ראשון, שלישי ושישי המסד יתעדכן במאמר כלשהו שהזמנתי לו מראש. איך אפשר לעשות זאת? Cron Jobs? האמת אני לא יודע על זה יותר מדי, מישהו יכול לתת לי הכוונה מה עליי לעשות? מה הדרך הפשוטה ביותר? תודה.
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 |
![]() |
![]() |
# 2 | ||
עסק רשום [?]
|
מממ, למה לא לעדכן אותו מראש וזהו?
הרי זה תוכן שהוא כבר מוכן. בכל מקרה, נגיד ואתה כותב פונקציה כזאת. ובCronJob, אתה מגדיר לו לפתוח את הדף הזה. אפשר לקרוא לקודים מטאפורה, שאם ממש טיפה מאמץ אתה הופך אותה לפונקציה אמיתית (: אבל הי!, 5 וחצי בבוקר, גם אתה תצטרך להתאמץ קצת. ציטוט:
אופציה 2, שיותר מתאימה לך ציטוט:
|
||
![]() |
![]() |
# 3 |
חבר וותיק
|
ואיפה תאחסן את המידע שאתה רוצה לעדכן בו את המסד נתונים אם לא במסד נתונים?
אופציה נוספת היא להכניס מידע לתקופה ארוכה ובאינדקס\רשימת תוכן להגביל את ההצגה רק ל DATE הנוכחי של היום. (כדאי עם TIMESTAMP)
__________________
פנוי לעבודה כמתכנת WEB - למידע נוסף: ליאור אמסלם. בניית אתרים באינטרנט - בלוג על בניית אתרים באינטרנט עם טיפים, מאמרים, מדריכי תכנות ועוד. משחקים אתר משחקים |
![]() |
![]() |
# 4 |
אושיית הוסטינג
|
אם מדובר על WORDPRESS,
האפשרות לפרסום עתידי כבר קיימת.
__________________
אבי |
![]() |
![]() |
# 5 |
חבר וותיק
|
מדובר על מערכת ייחודית.
רגע, אפשר לקבוע על תאריך הפרסום של מידע במסד? מה זה timestamp? איפה זה בphpmyadnib? תודה
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 |
![]() |
![]() |
# 6 |
חבר וותיק
|
אני מניח שאתה עובד בPHP, בגלל זה, תעבוד עם TIMESTAMP
בשביל לקבל את הTIMESTAMP של אותו הרגע, משתמשים בפונקציה: time(), לפני שאתה מפרסם את הפוסט, תקבע באיזה זמן יוצג הפוסט, לדוגמה אם קבעת שיתפרסם עוד 3 ימים אתה מוסיף למשתנה של הזמן 3*86400 (86400 זה מספר שניות ביום) ובתצוגת פוסטים, בשאילתה של השליפה, אתה מוסיף קוד:
WHERE time <= ".time(). " בדוגמה של מקודם(רק כדי שתבין) הקטע עם ה3 ימים: קוד:
$time = time() + 3*86400; בהצלחה ![]() |
![]() |
![]() |
# 7 |
עסק רשום [?]
|
יש לך שתי אפשרויות. או להוסיף שדה בטבלה של העדכונים עם שדה בשם time שיכיל את הזמן, וכשתשלוף רשומות תשלוף רק מה שהזמן שלו קטן יותר מהזמן הנוכחי.
אפשרות שנייה לעשות עמודה publish וכשאתה שולף לשלוף רק מה שיש לו בעמוד true. ולהפעיל cron job שיפעל כל X זמן ויעדכן כל פעם שורה אחת שתפורסם. |
![]() |
![]() |
# 9 |
עסק רשום [?]
|
הפתרון שנוסח כהוספת שדה עבור זמן הפרסום וסינון התוצאות בהתאם אליו אינו מומלץ בצורה שבה הוא הוצג.
הדרך הנ"ל תאלץ אותך לבצע המון שינויים בקוד הקיים ותדרוש ממך עבודה רבה, מעבר לכך - היא גם תפגע במהירות שליפת המידע מהמסד ותיצור עומס מיותר. להלן 2 פתרונות יעילים יותר: 1. הפתרון שהוצג לעיל אך בשילוב עם view. אתה יוצר view עבור הטבלה הזאת אך מציג בו אך ורק את הרשומות שצריך להציג (התנאי ישולב בתוכו). הצורה הזאת חוסכת ממך הן את הצורך לשנות את כל השאילתות ולהוסיף בהם את התנאי והן מייעלת את השאילתה ומקטינה את זמן הריצה שלה יחסית לפתרון הקודם. תוכל לשנות את השם של הטבלה המקורית לשם אחר וליצור view בשם הזה שכבר קיים בכל השאילתות שלך, כך לא תצטרך לשנות אפילו שורה אחת בקוד המערכת. 2. שימוש בטבלה נפרדת (עבור הפוסטים העתידיים) בשילוב MySQL Events. אתה יוצר טבלה נפרדת עבור הפוסטים שאתה רוצה לפרסם בעתיד, בטבלה הזאת אתה מוסיף את השדה שקובע באיזה תאריך הפוסט אמור להתפרסם, די דומה לפתרון הקודם. באמצעות MySQL Events אתה יוצר אירוע שרץ כל יום ומעביר פוסטים מהטבלה הזאת לטבלה ה- "אמיתית" כאשר תאריך הפרסום שלהם זהה לתאריך הנוכחי. |
![]() |
![]() |
# 10 | |
עסק רשום [?]
|
ציטוט:
|
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|