PDA

View Full Version : سوال: ثبت اطلاعات در دیتابیس برای کاربر یک بار در هر روز



odyseh
جمعه 02 اسفند 1392, 00:16 صبح
سلام خسته نباشید.

من یک سیستم امتیازدهی نوشتم.

مثلا برای عضویت و لاگین کاربر یک امتیاز در نظر گرفتم.

یک جدول امتیازات دارم. که بر اساس user_id امتیاز رو برای کاربر ثبت میکنه.

اما حالا میخوام برای لاگین کاربر در هر روز فقط یک بار امتیازِ لاگین ثبت بشه.

ممنون میشم راهنمایی کنید :قلب:

navid3d_69
جمعه 02 اسفند 1392, 06:07 صبح
توی یک جدول هر لاگینی که کاربر انجام میده رو ذخیره کن بعد هر بار لاگین چک کن توی اون روز لاگین کردن یا نه

odyseh
جمعه 02 اسفند 1392, 10:09 صبح
توی یک جدول هر لاگینی که کاربر انجام میده رو ذخیره کن بعد هر بار لاگین چک کن توی اون روز لاگین کردن یا نه

مرسی که جواب دادی. اگر نخوام جدول بسازم چی؟
برای امتیازات ثبت شده ستون تاریخ در نظر گرفتم.
خودم میخواستم تاریخ لاگین رو با آخرین تاریخ لاگین موجود در جدول مقایسه کنم. اگر وجود داشت دیگه ثبت نشه.
میشه کویری رو برام بنویسید؟

mostafa272
جمعه 02 اسفند 1392, 10:38 صبح
این کوئری رو ببین.CURDATE تاریخ فعلی (تعریف شده در خودsql)هست و login_date تاریخ آخرین لاگین(که اسم ستون جدولی هست که تعریف کردی). کل این کوئری تعداد رکوردها رو براساس نام کاربری مورد نظر و تاریخ آخرین لاگین میگرده. اگر چیزی پیدا نشد(یعنی مقداری صفر رو برگردوند) اون موقع میتونی ثبت کنی.



$query="SELECT COUNT(id) FROM table_name WHERE username=$user AND login_date=CURDATE()";

odyseh
جمعه 02 اسفند 1392, 11:21 صبح
این کوئری رو ببین.CURDATE تاریخ فعلی (تعریف شده در خودsql)هست و login_date تاریخ آخرین لاگین(که اسم ستون جدولی هست که تعریف کردی). کل این کوئری تعداد رکوردها رو براساس نام کاربری مورد نظر و تاریخ آخرین لاگین میگرده. اگر چیزی پیدا نشد(یعنی مقداری صفر رو برگردوند) اون موقع میتونی ثبت کنی.



$query="SELECT COUNT(id) FROM table_name WHERE username=$user AND login_date=CURDATE()";


خیلی ممنونم. فقط ستون date من timestamp هست! با همین جواب میده؟