کلیدستان

نسخه‌ی کامل: اصلاح کد
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام خدمت مدیریت خوش ذوق و کاربران فعال انجمن
بنده در طراحی سایت خود برای یک فعالیت خاص برای کاربران  امتیازی در نظر گرفته ام
در کد زیر این امتیاز 50 در نظر گرفته شده و به پر.فایل کاربر اضافه می شود:


کد:
$res = mysql_query("UPDATE `xeon_users` SET `b_score` = `b_score` + '50' WHERE `xeon_users`.`id` = {$xUS['id']} ");

حال قصد دارم تغییری در کد ایجاد کنم تا کاربر فقط 10 بار در روز بتواند از این فعالیت امتیاز کسب کند و اگر بیشتر از این تعداد این فعالیت را انجام داد امتیازی به وی تعلق نگیرد
لطفا مرا راهنمایی کنید


 
سلام.
ممنون از لطف شما.
در جدولی که اطلاعات کاربران ذخیره شده است، باید دو ستون دیگر نیز افزوده شود. 
اولین ستون با نام LastVisit (یا هر نام دلخواه مورد نظر شما)، که در آن، تاریخ مربوط به آخرین باری که کاربر امتیاز کسب کرده است، درج خواهد شد. 
دومین ستون با نام Count که در آن، تعداد باری که در تاریخ درج شده در LastVisit ، به کاربر امتیاز داده شده است، نوشته می شود.
حالا فرض کنید که کاربر، آن فعالیت را انجام دهد، باید کد شامل مراحل زیر باشد :
به سراغ ستون  LastVisit از جدول اطلاعات برای آن کاربر می رویم (در ردیفی از جدول که مربوط به کاربر مورد نظر ما است)، چک می کنیم که آیا تاریخ درج شده در آن، با تاریخ امروز برابر است یا نه :
الف - اگر تاریخ ها برابر بودند، چک می کنیم که آیا مقدار Count کمتر از 10 هست یا نه. اگر برابر 10 یا بیشتر بود که هیچکاری نمی کنیم، در غیر این صورت، 50 امتیاز به کاربر می دهیم و مقدار  Count را هم یکی اضافه می کنیم
ب- اگر تاریخ ها برابر نبودند، تاریخ درج شده در  LastVisit را برابر تاریخ امروز تغییر می دهیم و مقدار  Count را برابر 1 قرار داده (نه صفر، چون الآن باید به وی امتیاز بدهیم) و به کاربر 50 امتیاز می دهیم.
 
(۱۳۹۲/۰۹/۱۰, ۱۲:۲۷ ب.ظ)'admin' نوشته: [ -> ]سلام.
ممنون از لطف شما.
در جدولی که اطلاعات کاربران ذخیره شده است، باید دو ستون دیگر نیز افزوده شود. 
اولین ستون با نام LastVisit (یا هر نام دلخواه مورد نظر شما)، که در آن، تاریخ مربوط به آخرین باری که کاربر امتیاز کسب کرده است، درج خواهد شد. 
دومین ستون با نام Count که در آن، تعداد باری که در تاریخ درج شده در LastVisit ، به کاربر امتیاز داده شده است، نوشته می شود.
حالا فرض کنید که کاربر، آن فعالیت را انجام دهد، باید کد شامل مراحل زیر باشد :
به سراغ ستون  LastVisit از جدول اطلاعات برای آن کاربر می رویم (در ردیفی از جدول که مربوط به کاربر مورد نظر ما است)، چک می کنیم که آیا تاریخ درج شده در آن، با تاریخ امروز برابر است یا نه :
الف - اگر تاریخ ها برابر بودند، چک می کنیم که آیا مقدار Count کمتر از 10 هست یا نه. اگر برابر 10 یا بیشتر بود که هیچکاری نمی کنیم، در غیر این صورت، 50 امتیاز به کاربر می دهیم و مقدار  Count را هم یکی اضافه می کنیم
ب- اگر تاریخ ها برابر نبودند، تاریخ درج شده در  LastVisit را برابر تاریخ امروز تغییر می دهیم و مقدار  Count را برابر 1 قرار داده (نه صفر، چون الآن باید به وی امتیاز بدهیم) و به کاربر 50 امتیاز می دهیم.
 

 

با تشکر از پاسخ دقیق شما
آیا امکان دارد کد را هم با همان پیش فرضی که گذاشتم و با فرض وجود ستون های لازم در جدول، برایم قرار دهید؟



 
متاسفانه زمانی برای کدنویسی های طولانی ندارم، تمامی مواردی که برای این کدنویسی نیاز هست، در سایت کلیدستان نوشته شده و بنابراین نوشتن کدها، تنها نیازمند صرف وقت می باشد و نیازی به یادگیری نکته جدیدی نیست.