PDA

View Full Version : سوال: اضافه کردن یک مقدار به رکورد های MySQL هر روز



mahdyari77
پنج شنبه 08 بهمن 1394, 13:41 عصر
سلام

من یسری یوزر دارم یه خاصیت به نام لیمیت پست دارن میخوام هر روز دو تا پست بیشتر نتونن بدن
پس هر روز باید اتوماتیک بررسی بشه مثلا ساعت 12 شب که لیمیت پست از دو کمتره یا نه اگر کمتره = 2 قرار داده بشه
اینو چجوری انجام بدم بهتره ؟
با کرون جاب انجامش بدم ؟

Unique
پنج شنبه 08 بهمن 1394, 14:03 عصر
من یسری یوزر دارم یه خاصیت به نام لیمیت پست دارن میخوام هر روز دو تا پست بیشتر نتونن بدن
اگه قصدت اهمین هست اصلا نیاز به ۱۲ شب و Cronjob و این حرفا نیست ، هر پست تاریخ داره ، کافیه قبل از insert اول یک select بزنی ببینی چند تا پست توی روز جاری طرف زده بعدش اگه دو تا بود مجوز ندی :

با فرض اینکه فیلد از نوع date باشه :

$query = "select count(*) from posts where puser = 'user_id_here' and pdate = '".date("Y-m-d")."'";

اگر نوعش Datetime باشه :

$query = "select count(*) from posts where puser = 'user_id_here' and DATE(pdate) = '".date("Y-m-d")."'";

mahdyari77
پنج شنبه 08 بهمن 1394, 14:51 عصر
اگه قصدت اهمین هست اصلا نیاز به ۱۲ شب و Cronjob و این حرفا نیست ، هر پست تاریخ داره ، کافیه قبل از insert اول یک select بزنی ببینی چند تا پست توی روز جاری طرف زده بعدش اگه دو تا بود مجوز ندی :

با فرض اینکه فیلد از نوع date باشه :

$query = "select count(*) from posts where puser = 'user_id_here' and pdate = '".date("Y-m-d")."'";

اگر نوعش Datetime باشه :

$query = "select count(*) from posts where puser = 'user_id_here' and DATE(pdate) = '".date("Y-m-d")."'";

اگر سه نوع یوزر در سطح های متفاوت باشه که یکیشون هفته ای سه تا یکیشیون پنج تا یکیشون 7 تا باشه بعد شاید بعدا بخوام این اعداد عوض بشه بازم بنظرت اینکارو بکنم بهتره یا همون کرون ؟
فیلد هم TimeStamp ا

پسرک کنجکاو
پنج شنبه 08 بهمن 1394, 15:05 عصر
سلام دوست عزیز تو می تونی اول نوع کاربر رو بگیری و بعد مثلا با عبارت های شرطی یا سویچ کردن برای اون دستور خاص خودشو قرار بدی و برای عوضی اعداد می تونی عدد رو از دیتابیس بخونی

Unique
جمعه 09 بهمن 1394, 01:45 صبح
اگر سه نوع یوزر در سطح های متفاوت باشه که یکیشون هفته ای سه تا یکیشیون پنج تا یکیشون 7 تا باشه بعد شاید بعدا بخوام این اعداد عوض بشه بازم بنظرت اینکارو بکنم بهتره یا همون کرون ؟

مهم نیست ، وقتی کاربر لاگین میکنه معلومه سطح دسترسیش یا همون نقش کاربریش چیه. قبل از insert همین select را میزنیم و نتیجه را با مقدار مجوز ارسالش مقایسه میکنیم. باز هم نیاز به Cron نیست.

اگه فیلد را Tiemstamp ذخیره میکنی اینطوری Query بنویس :


$query = "select count(*) from posts where puser = 'user_id_here' and DATE_FORMAT(FROM_UNIXTIME(pdate), '%Y-%m-%d') = '".date("Y-m-d")."'";