לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 01-12-2007, 10:42
  Xpein Xpein אינו מחובר  
 
חבר מתאריך: 21.01.06
הודעות: 813
איפוס מסד תוך שבוע בעזרת קוד - צריך דעה אם זה יעבוד

את הקוד שאני הבא אני שמתי בעמוד של הindex :
קוד PHP:
<?php
$q 
mysql_query ("SELECT * FROM maintext");
$f mysql_fetch_array ($q);
$time $f['vote_datew'];
$time_part explode('/' $time);
$newtime $time_part['2']. '/' .$time_part['1']. '/' .$time_part['0'];
$u_time strtotime($newtime);
$todaydate date ('d/n/Y');
$week_forward $u_time + (60*60*24*7);
$more1 $u_time + (60*60*24*1);
$more2 $u_time + (60*60*24*2);
$more3 $u_time + (60*60*24*3);
$more4 $u_time + (60*60*24*4);
$more5 $u_time + (60*60*24*5);
$more6$u_time + (60*60*24*6);
$more1day date('d/n/Y'$more1); 
$more2day date('d/n/Y'$more2); 
$more3day date('d/n/Y'$more3); 
$more4day date('d/n/Y'$more4); 
$more5day date('d/n/Y'$more5); 
$more6day date('d/n/Y'$more6); 
if (
$todaydate == $time) {
// לא עבר אף יום, אותו יום של ההתחלה, לא אמור לקרות כלום
}
if (
$todaydate == $more1day) {
// עבר רק יום אחד, לא אמור לקרות כלום
}
if (
$todaydate == $more2day) {
// עברו רק 2 ימים, לא אמור לקרות כלום
}
if (
$todaydate == $more3day) {
// עברו רק 3 ימים, לא אמור לקרות כלום
}
if (
$todaydate == $more4day) {
// עברו רק 4 ימים, לא אמור לקרות כלום
}
if (
$todaydate == $more5day) {
// עברו רק 5 ימים, לא אמור לקרות כלום
}
if (
$todaydate == $more6day) {
// עברו רק 6 ימים, לא אמור לקרות כלום
}
$moreweek date('d/n/Y'$week_forward); 
if (
$todaydate == $moreweek) {
// עבר שבוע!!
// פה צריך לבוא קוד האיפוס
// התאריך משתנה במסד לתאריך של היום!
}
else {
// עבר מעל שבוע
// עדיין צריך להיות קוד האיפוס!
// התאריך משתנה במסד לתאריך של היום!
}
?>


לא השתמשתי בכוונה בזמן יוניקס כשאני בודק את התאריך, כי רציתי שזה יתאפס בדיוק מיום
שבת ב12 בלילה (יום ראשון) למרות שיותר הגיוני עם זמן יוניקס אבל כבר התחלתי אז לא רציתי לשנות חח לכן הניחוש הבא שלכם הוא שבמסד הערך שקבעתי באופן אוטומטי הוא: 2/12/2007.
לפני שאני מחכה שיעבור שבוע, מה אתם אומרים, הקוד יעבוד בסדר?
מה שעשיתי בעצם זה קבעתי תאריך של 2/12/2007 קבוע, ופשוט עשיתי בדיקה
אם זה אותו תאריך, לא קורה כלום, אם עבר רק יום לא קורה כלום וכן הלאה עד שבוע
ואם עבר שבוע אז המסד גם מתאפס וגם מקבל את התאריך של אותו יום שיחזור על הפעולה הזאת שוב,
ואם עבר יותר משבוע (מה שיכול לקרות אם לא נכנסו לאתר) זה בכל מקרה מתאפס (וזאת
הסיבה שגם בדקתי אם אותם ימי השבוע עוד לא עברו, כדי שלא ייוצר מצב ש..)

נ.ב
בניתי לעצמי את הקוד הזה כי הmysql שלי הוא גירסא ישנה יותר מ5 ואני לא יכול לעשות את זה
אוטומטית בעזרת הsql..

אז מה דעתכם? תודה!
_____________________________________
--- ! Area Close ! ---


נערך לאחרונה ע"י Xpein בתאריך 01-12-2007 בשעה 10:52.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 01-12-2007, 14:20
  Xpein Xpein אינו מחובר  
 
חבר מתאריך: 21.01.06
הודעות: 813
בתגובה להודעה מספר 4 שנכתבה על ידי netaneldj שמתחילה ב "לא הבנתי בערך כלום ממה שעשית"

כן וואלה אני דיי סיבכתי אבל אני לא רואה מה לא בסדר בקוד שלי..
וחוץ מזה גם השתמשתי בexplode כדי להפוך את הזמן..
וד"א בקוד שלי אני בטעות השתמשתי רק עם if ולא elseif הנה תיקון:
קוד PHP:
<?php
$q 
mysql_query ("SELECT * FROM maintext");
$f mysql_fetch_array ($q);
$time $f['vote_datew'];
$time_part explode('/' $time);
$newtime $time_part['2']. '/' .$time_part['1']. '/' .$time_part['0'];
$u_time strtotime($newtime);
$todaydate date ('d/n/Y');
$week_forward $u_time + (60*60*24*7);
$moreweek =  date('d/n/Y'$week_forward); 
$more1 $u_time + (60*60*24*1);
$more2 $u_time + (60*60*24*2);
$more3 $u_time + (60*60*24*3);
$more4 $u_time + (60*60*24*4);
$more5 $u_time + (60*60*24*5);
$more6 $u_time + (60*60*24*6);
$more1day =  date('d/n/Y'$more1); 
$more2day =  date('d/n/Y'$more2); 
$more3day =  date('d/n/Y'$more3); 
$more4day =  date('d/n/Y'$more4); 
$more5day =  date('d/n/Y'$more5); 
$more6day =  date('d/n/Y'$more6); 
if (
$todaydate == $time) {
// לא עבר אף יום, אותו יום של ההתחלה, לא אמור לקרות כלום
}
elseif (
$todaydate == $more1day) {
// עבר רק יום אחד, לא אמור לקרות כלום
}
elseif (
$todaydate == $more2day) {
// עברו רק 2 ימים, לא אמור לקרות כלום
}
elseif (
$todaydate == $more3day) {
// עברו רק 3 ימים, לא אמור לקרות כלום
}
elseif (
$todaydate == $more4day) {
// עברו רק 4 ימים, לא אמור לקרות כלום
}
elseif (
$todaydate == $more5day) {
// עברו רק 5 ימים, לא אמור לקרות כלום
}
elseif (
$todaydate == $more6day) {
// עברו רק 6 ימים, לא אמור לקרות כלום
}
elseif (
$todaydate == $moreweek) {
// עבר שבוע!!
// פה צריך לבוא קוד האיפוס
// התאריך משתנה במסד לתאריך של היום!
}
else {
// עבר מעל שבוע
// עדיין צריך להיות קוד האיפוס!
// התאריך משתנה במסד לתאריך של היום!
}
?>

וד"א הקוד שלי מאפשר להגיד כמה ימים עברו מאז האיפוס האחרון ועוד כמה זמן האיפוס הבא..
_____________________________________
--- ! Area Close ! ---


נערך לאחרונה ע"י Xpein בתאריך 01-12-2007 בשעה 14:29.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 02:36

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר