נשלח בתאריך: 13 November 2007 בשעה 18:01 | | IP רשוּם
|
|
|
|
הקוד :
<?php //$selectit = mysql_query("SELECT * FROM resultboard WHERE id=$id"); //$select = mysql_fetch_array($selectit,MYSQL_ASSOC); $id = $select[id]; $timegame = $select[time]; $curtime = new tTime(); $curtime->vTime = date("l:H:m"); $curtime->fInit(); $curtime->fCalculate(); $gametime = new tTime(); $gametime->vTime = $select["time"]; $gametime->fInit(); $gametime->fCalculate(); $datenow = $curtime->minu; $timegame = $gametime->minu; if ($datenow-$timegame >= 0 && $datenow-$timegame < 45) echo "מחצית ראשונה"; else if ($datenow-$timegame == 45 && $datenow-$timegame <= 60) echo "מחצית"; else if ($datenow-$timegame > 60 && $datenow-$timegame < 105) echo "מחצית שנייה"; else if ($datenow-$timegame >= 105) echo "הסתיים"; else echo "$select[time]"; class tTime { var $vTime; var $day; var $hour; var $minu;
function fInit(){ list($this->day,$this->hour,$this->minu) = explode(":",$this->vTime);} function fCalculate(){ $this->minu = $this->minu + ($this->hour + $this->day * 24) * 60;} }
?>
אוקי זה הקוד עכשיו הבעיות : הבעיה הראשונה היא בעייה ב class , את הקוד הזה הכנסתי בתוך לולאה של הצגת נתונים עכשיו ברגע שמוסיפים 2 נתונים אז הוא אמור יעני לרשום תקוד פעמיים אז בגלל שהוא רושם לעצמו תקוד פעמיים אז הוא עושה גם פעמיים class ואז הוא רושם לי את אותו שם מחלקה פעמיים. ואז בגלל זה זה מראה שגיאה כזאת : Cannot redeclare class ttime עכשיו אני ניסיתי לשנות תשם של ה class למשתנה $id שזה בעצם מספר ב mysql שלי , כל פעם שכאילו יוסיף לפי השם של ה id ואז כל פעם יהיה לו שם שונה ואז זה יעזור .. אבל זה מראה שגיאת string משהו כזה משהו לא טוב אז מה אני אמור לעשות שלא יראה לי את השגיאה : Cannot redeclare class ttime ... ושיעבוד כמו שצריך ?
עכשיו הבעיה השנייה : הקוד הבא אמור להחסיר את השעה של עכשיו פחות השעה שהכנסתי לו בשדה time ב Mysql אבל שאני מציג את התוצאה של ההחסרה זה מראה לי מספר כזה מוזר שלא קשור בכלל וזה לא התוצאה ביניהם . זה כאילו אמור להציג את ההפרש זמנים בין הזמן עכשיו לבין הזמן של time שהכנסתי וזה מציג מספר מוזר גדול כזה 1050 וכאלה .. ובגלל זה גם ה if מציג לי דברים שלא באמת נכונים למשל עכשיו השעה 18:00 והכנסתי לו ב time את השעה 17:30 אז ההפרש זה 30 אז הוא מראה לי תוצאה 6050 משהו כזה ואז ב if הוא מציג את מה שהוא צריך להציג כאשר זה יותר גדול מ 105 ... מה הבעיה ?
תודה לעוזר !!
|