جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
حامد
2 سال پیش توسط حامد مطرح شد
4 پاسخ

تغییر خودکار در دیتابیس

سلام من یه سایت با php دارم سایت خیلی سادست یه صفحه ورود ب حساب کاربری داره یه صفحه ثبت نام داره و یک صفحه خانه که بعد از لاگین کاربر و به اون صفحه هدایت می‌کنه من موقع ثبت نام اطلاعات کاربر اعم از نام ، نام خانوادگی و ... میگیرم و در یک جدول بنام user توی دیتابیس ذخیره میکنم یکی از مقادیری که به جدول user می‌فرستم یک فیلدی هست که بطور پیشفرض ۳۰ رو ویبره توی دیتابیس ذخیره میکنه (تعداد روز هوایی که کاربر میتونن از سایت استفاده کنه ) من می‌خوام هر روز ۱ روز از این ۳۰ روز بطور خودکار کم بشه تا برسه به ۰ اگه میشه کد مربوط به این کارو بهم بدید


ثبت پرسش جدید
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 2 سال پیش مطرح شد
1

سلام
از کرون جاب استفاده کنید.
ابتدا یک صفحه ایجاد کنید که وقتی رفرش میشه یک حلقه رو اجرا کنه حالا این حلقه در واقع کوئری روی تیبل یوزر هست و اونجا میتونید مقدار فیلد مورد نظر رو گرفته و منهای یک کنید سپس فیلد رو با مقدار جدید آپدیت کنید.
حالا یک کرون جاب ست کنید که هر 24 ساعت یکبار اجرا بشه و آدرس این صفحه رو بهش بدید.
بهتره نام تیبل user رو هم به users تغییر بدید.


حامد
تخصص : طراح
@hzare0714 2 سال پیش مطرح شد
0

کرون جاب می‌سازم اگه برات زحمتی نیست اون کد حلقه و کوئری که میگی واسم بنویس خودم ویرایشش میکنم
خدا خیر بهت بده


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 2 سال پیش مطرح شد
0

سلام خسته نباشید
از طریق schedule میتونید این کارو کنید


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 2 سال پیش مطرح شد
0

@hzare0714
صفحه مورد نظر یه چیزی شبیه این میشه البته خودت باید مطابق روشی که کار کردی موارد مرتبط با اتصال به دیتابیس و کانفیگ و سکوریتی و ... که توی php پیور هست رو انجام بدی.

$users = $db->query("SELECT * FROM `users`");
while ($user = $users->fetch_assoc())
{
    $day = $user['time'] - 1;
    $db->query("UPDATE `users` SET `time` = '$day' WHERE `users`.`id` = $user['id'] ")
 }

کوئری رو میتونی مطابق با روشی که برای اتصال به دیتابیس پیاده کردی اینجا کاستومایز کنی.
فیلد زمان رو به صورت time مشخص کردم.
نام تیبل رو هم users قرار دادم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام