PDA

View Full Version : سوال: حذف ركورد بصورت اتوماتيك 24 ساعت بعد از درج آن؟



zoho1381
دوشنبه 10 فروردین 1388, 11:26 صبح
با سلام خدمت دوستان:قلب:
من دارم يه سيستم كتابخانه براي يه شركت طراحي مي كنم.
يكي از تيبل هام رزرو كتابها رو نگه ميداره كه كسي رو كه كتابي رو رزرو كرده تو خودش نگه ميداره.
حالا مي خوام وقتي كسي كتابي رو رزرو كرد: اولا كه ساعت رزرو رو ذخيره كنم. و دوم اينكه مي خوام بعد از 24 ساعت اگه حالت رزرو كتاب رو به امانت تبديل نكرده بود(به كتابخونه مراجعه نكرده و مدير اون كتاب رو به حالت امانت در نياورده) از ليست رزروها حذف بشه.

1- حالا چه جوري ساعت سرور رو در تيبلم ذخيره كنم؟
2- و ديگه چه جوري بعد از مثلا 24 ساعت اون ركورد رو حذف كنم؟

ضمنا با php و mysql كار مي كنم.

امیـرحسین
دوشنبه 10 فروردین 1388, 15:35 عصر
سلام،

ساعت سرور همون تابع ()time هست دیگه!
برای اجرای خودکار کدها، روش اصولی و مطمئن اینه که از CroneJob استفاده کنید. CroneJob رو میشه تنظیم کرد که کدهای مشخصی رو سر زمانهای خاص اجرا کنه که کار کردن باهاش زیاد ساده نیست. (برای تنظیم زمان اجرا، باید 24 ساعت به زمان کنونی اضافه کنید و این زمان رو به کرون بدید)
توی cPanel پیداش میکنید و آموزشش هم تا یه حدی تو اینترنت هست.

روش دیگه اینه که یه کدی توی پر کاربرترین بخش سایت بذارید (مثلا صفحه اصلی) که بیاد اطلاعات کاربرها رو چک کنه و اونایی که از 24 ساعت گذشتند رو حذف کنه. اینجوری هر بار که سایت باز بشه، این چک صورت میگیره و خیلی هم ساده است.

موفق باشید

zoho1381
سه شنبه 11 فروردین 1388, 10:43 صبح
سلام،

ساعت سرور همون تابع ()time هست دیگه!

اين تابع ساعت كدوم سرور رو بر ميگردونه؟ تازه من اون رو امتحان كردم ولي فقط يه عدد 10 رقمي برميگردونه! اين عدد چيه؟ به اين صورت نوشتم: ;() print time

و ديگه اينكه فكر ميكنم حق با شماست مي تونم مثلا وقتي كاربري مي خواد جستجوي كتاب رو انجام بده اين اتفاق بيفته و چنين ركوردي از تيبل حذف بشه!
ولي بازم اگه دوستان ديگه هم پيشنهادي دارن ممنون ميشم راهنماييم كنن. مخصوصا در مورد ساعت؟!

sassan.samiei
چهارشنبه 12 فروردین 1388, 00:23 صبح
http://ir.php.net/manual/en/function.time.php
http://ir.php.net/manual/en/function.date.php
البته من جسارتن این دوتا رو گذاشتم اینجا منم معمولا وقتی سوال میکنم اولین جوابی که دوستان میدن همینه (در رابطه با اون time گذاشتم )
:D

امیـرحسین
چهارشنبه 12 فروردین 1388, 00:36 صبح
اين تابع ساعت كدوم سرور رو بر ميگردونه؟ تازه من اون رو امتحان كردم ولي فقط يه عدد 10 رقمي برميگردونه! اين عدد چيه؟ به اين صورت نوشتم: ;() print time
PHP زمان رو بصورت ثانیه از اولین لحظه سال 1970 میلادی در نظر میگیره. اون عدد 10 رقمی تعداد ثانیه های طی شده از اول ژانویه 1970 ساعت 12 نیمه شب هست. که باید توسط تابعی مثل date که لینکش رو گذاشتند به زمان معمولی تبدیل بشه.
این زمان، زمان سرور هاست شماست که مثلا اگه آمریکا باشه، به ساعت اونجاست ولی معمولا براساس صفر گرینویچ هست یعنی 3:30 از ایران عقبتره.
بازهم توصیه :لبخند: : اینجا تابع شمسی date رو پیدا می کنید: http://Boplo.ir/php/jdate-function