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

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

DorWD 07-02-07 15:42

[SQL] עזרה בבניית שאילתא
 
אהלן.
אוקיי אז ככה אני צריך שתעזרו לי במשהו.
אני הכנתי קובץ שירוץ כל כמה דקות בשרת (CJ) ושיבדוק אם עבר X דקות מהזמן שנשמר במסד.
הזמן הוא UNIXTIME.

עשיתי משהו כזה ולא עובד לי:
PHP קוד:

<?php $time time();
mysql_query("delete from ips where time = ($time - time) > 60*60");
?>

אשמח אם תתקנו את השאילתא הזו, כי היא לא עובדת לי

meshuga 07-02-07 15:45

יותר הגיוני ונכון (מה זה "time = ($time - time) >" לעזאזל):
PHP קוד:

<?php $time time()-60*60
mysql_query("DELETE FROM `ips` WHERE  `time` > $time "); 
?>

במה שאני עשיתי, אתה מחסר מהזמן הנוכחי את 3600 שניות (שעה)....ואז כל מה שגדול מזה...זה אומר שעברה שעה...

DorWD 07-02-07 15:52

ציטוט:

נכתב במקור על ידי meshuga (פרסם 419506)
יותר הגיוני ונכון (מה זה "time = ($time - time) >" לעזאזל):
PHP קוד:

<?php $time time()-60*60
mysql_query("DELETE FROM `ips` WHERE  `time` > $time "); 
?>

במה שאני עשיתי, אתה מחסר מהזמן הנוכחי את 3600 שניות (שעה)....ואז כל מה שגדול מזה...זה אומר שעברה שעה...

תודה.
לא זכרתי ממש את הסינטקס של הבדיקה מה יותר גדול :).
ככה זה שלא נוגעים יותר מחודש בתכנות :).
תודה, אדע להבא

DorWD 11-02-07 21:25

הקפצה - באישור meshuga
עשיתי קובץ אשר יבדוק וימחק אייפים במסד אשר עבר 24 שעות מאז העדכון האחרון.

עשיתי קובץ אשר יורץ בשרת כל 5 דקות, כך הוא נראה:
PHP קוד:

<?php 
include ("config.php");
$time time()-60*60*24;  
mysql_query("DELETE FROM `ips` WHERE  `time` > $time ");  
?>

ובמתזמן משימות:
קוד:

/usr/local/bin/php -f /home/dorwd/domains/dorwd.com/private_html/24.php
אז משום מה זה לא עובד לי ואשמח אם תעזרו לי

תודה:)

BlueNosE 11-02-07 21:56

נראה לי שקרתה לך הטעות הנפוצה בCJ - לא התחברת למסד xP

DorWD 11-02-07 22:00

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 422050)
נראה לי שקרתה לך הטעות הנפוצה בCJ - לא התחברת למסד xP

אני בטוח שהתחברתי ^.^ .
זה ממש משהו מוזר, מפני שזה מוחק לי את כל האייפים כל פעם שזה מורץ (נגיד עשיתי שזה ירוץ כל 2 דקות, אז כל שתי דקות נמחקים כל האייפים, אפילו שלא עבר 24 שעות)

RS324 11-02-07 22:02

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

DorWD 11-02-07 23:28

תודה רבה לכולם!.
תודה רבה רותם הפיתרון שלך עבד יופי :).

תודה

RS324 11-02-07 23:38

סתם דבר נוסף...

זה סתם חישוב מיותר לעשות

time()-60*60*24

תעשה פשוט ישר


time()-86400

...

DorWD 11-02-07 23:40

ציטוט:

נכתב במקור על ידי RS324 (פרסם 422101)
סתם דבר נוסף...

זה סתם חישוב מיותר לעשות

time()-60*60*24

תעשה פשוט ישר


time()-86400

...

הממ.. זה משנה משהו (כמות משאבים או לא יודע מה..?)?

RS324 11-02-07 23:42

ציטוט:

נכתב במקור על ידי DorWD (פרסם 422102)
הממ.. זה משנה משהו (כמות משאבים או לא יודע מה..?)?

תלוי בכמות הפעמים שהסקריפט רץ + העומס שיש על השרת

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

אז למה לתת לשרת לעבוד קשה כשאפשר לחסוך לו כמה אלפיות של שניות ?

תחשוב על זה ככה...

גם אם זה לוקח רבע שניה יותר
זה עדיין רבע שניה מיותרת

DorWD 11-02-07 23:59

ציטוט:

נכתב במקור על ידי RS324 (פרסם 422104)
תלוי בכמות הפעמים שהסקריפט רץ + העומס שיש על השרת

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

אז למה לתת לשרת לעבוד קשה כשאפשר לחסוך לו כמה אלפיות של שניות ?

תחשוב על זה ככה...

גם אם זה לוקח רבע שניה יותר
זה עדיין רבע שניה מיותרת

אוקיי.תודה רבה
קיבלתי את התשובה שלי אפשר לנעול


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

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