من میخوام یه جدول دیتابیس ایجاد کنم که اطلاعات کاربران، توسط خودشون توی اون وارد بشه
تقریبا به این شکل:
ID NAME STATUS
1 Ali 0
2 Reza 0
3 Hossein 1
...
100 Mohammad 1
این جدول سه قسمت داره که اولی شماره هر کاربر هست. دومی نام هر کاربر و سومی وضعیت هر کاربر
پس از ثبت نام کاربر انتخاب میکنه که میخواد چند ماه عضو سایت باشه. بین ۱ تا ۱۲ ماه
مثلا اگه ۳ ماه رو انتخاب کرد، تا سه ماه STATUS عدد 1 باشه و بعد از 3 ماه صفر بشه. مگر اینکه دوباره تمدید کنه. همچنین میخوام مثلا ۱۰ روز قبل از 0 شدن هم یه ایمیل براش ارسال بشه که اون رو تمدید کنه
راه حل این کار چیه؟ راه حل بهتری واسه انجامش دارید؟
omid1991
June 4th, 2019, 17:32
با سلام
من میخوام یه جدول دیتابیس ایجاد کنم که اطلاعات کاربران، توسط خودشون توی اون وارد بشه
تقریبا به این شکل:
ID NAME STATUS
1 Ali 0
2 Reza 0
3 Hossein 1
...
100 Mohammad 1
این جدول سه قسمت داره که اولی شماره هر کاربر هست. دومی نام هر کاربر و سومی وضعیت هر کاربر
پس از ثبت نام کاربر انتخاب میکنه که میخواد چند ماه عضو سایت باشه. بین ۱ تا ۱۲ ماه
مثلا اگه ۳ ماه رو انتخاب کرد، تا سه ماه STATUS عدد 1 باشه و بعد از 3 ماه صفر بشه. مگر اینکه دوباره تمدید کنه. همچنین میخوام مثلا ۱۰ روز قبل از 0 شدن هم یه ایمیل براش ارسال بشه که اون رو تمدید کنه
راه حل این کار چیه؟ راه حل بهتری واسه انجامش دارید؟
سلام وقت بخیر
شما ستون زمان به جدولت اضافه کن که زمان ثبت نامش مشخص باشه بعد زمان ثبت نام و حال رو مقایسه کن اگه منقضی شده باشه وضعیتش بشه صفر
برای ارسال ایمیل هم چون زمان ثبت نام رو داری خیلی راحت میتونی انجامش بدی
سیدرضا بازیار
June 4th, 2019, 20:45
سلام وقت بخیر
شما ستون زمان به جدولت اضافه کن که زمان ثبت نامش مشخص باشه بعد زمان ثبت نام و حال رو مقایسه کن اگه منقضی شده باشه وضعیتش بشه صفر
برای ارسال ایمیل هم چون زمان ثبت نام رو داری خیلی راحت میتونی انجامش بدی
یعنی ستون پنجم رو تاریخ ثبت نام بزارم و تعیین کنم که مثلا ۹۰ روز بعد از این تاریخ باطل بشه؟
میشه یکم بیشتر توضیح بدین؟
omid1991
June 5th, 2019, 20:09
یعنی ستون پنجم رو تاریخ ثبت نام بزارم و تعیین کنم که مثلا ۹۰ روز بعد از این تاریخ باطل بشه؟
میشه یکم بیشتر توضیح بدین؟
سلام وقت بخیر
بله
شما به دوتا ستون زمان نیاز دارید یکی زمان ثبت نام که مشخص میکنه کی ثبت نام کرده و یکی زمان انقضا
مثلا زمان انقضا امروز هست با کرون جاب چک میکنید اگه زمان انقضا از امروز کوچکتر باشه وضعیت رو به صفر تغییر بده و میتونید قبل از زمان انقضا هم پیام بفرستید که زمان شما به اتمام رسیده و ...
سیدرضا بازیار
June 7th, 2019, 19:27
حالا یه سوال:
تصویر زیر رو ببینید. یه جدول واسه تست ساختم که هر کاربر ثبت نام کنه توی قسمت date تاریخ اعتبار اکانت رو نمایش میده. حالا میخوام عملیات خرید اکانت و تمدید اکانت بر اساس زمان روی اون انجام بشه
من میخوام چک کنم که اگه جدول زمان تمدید زمانش تموم شده باشه و کاربر دوباره اکانت رو آپدیت کنه، ابتدا زمان رو روی امروز ست کنه و ۳۰ روز بهش اضافه کنه. در غیر این صورت اگه کاربر بخواد در حالی که هنوز هم زمان داره، زمان بخره ۳۰ روز به زمان فعلی اضافه بشه
توضیح کد زیر: اگه زمان موجد در جدول جلوتر از زمان فعلی باشه add date در غیر این صورت update date and add date
select if (date >= now() , 'add date' , 'update date and add date') from links;
حالا توی شرط اول کد زیر باید اجرا بشه:
date=adddate(date,30)
توی شرط دوم کد زیر باید اجرا بشه:
date=adddate(now(),30)
واسه آپدیت هم از این کد استفاده میشه:
update links set date=adddate(now(),30) where id=1
وقتی این کد ها رو توی هم میزنم و اجرا میکنم، با ارور مواجه میشم:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update links set date=now()) from links where id=1' at line 1
چطوری این کد ها رو باید اجرا کنم که بتونم به نتیجه ای که میخوام برسم؟ 8-|