انجمن سایت کلیدستان


رتبه موضوع:
  • 2 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اصلاح کد

اصلاح کد

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


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

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


 
پاسخ

اصلاح کد

#2
سلام.
ممنون از لطف شما.
در جدولی که اطلاعات کاربران ذخیره شده است، باید دو ستون دیگر نیز افزوده شود. 
اولین ستون با نام LastVisit (یا هر نام دلخواه مورد نظر شما)، که در آن، تاریخ مربوط به آخرین باری که کاربر امتیاز کسب کرده است، درج خواهد شد. 
دومین ستون با نام Count که در آن، تعداد باری که در تاریخ درج شده در LastVisit ، به کاربر امتیاز داده شده است، نوشته می شود.
حالا فرض کنید که کاربر، آن فعالیت را انجام دهد، باید کد شامل مراحل زیر باشد :
به سراغ ستون  LastVisit از جدول اطلاعات برای آن کاربر می رویم (در ردیفی از جدول که مربوط به کاربر مورد نظر ما است)، چک می کنیم که آیا تاریخ درج شده در آن، با تاریخ امروز برابر است یا نه :
الف - اگر تاریخ ها برابر بودند، چک می کنیم که آیا مقدار Count کمتر از 10 هست یا نه. اگر برابر 10 یا بیشتر بود که هیچکاری نمی کنیم، در غیر این صورت، 50 امتیاز به کاربر می دهیم و مقدار  Count را هم یکی اضافه می کنیم
ب- اگر تاریخ ها برابر نبودند، تاریخ درج شده در  LastVisit را برابر تاریخ امروز تغییر می دهیم و مقدار  Count را برابر 1 قرار داده (نه صفر، چون الآن باید به وی امتیاز بدهیم) و به کاربر 50 امتیاز می دهیم.
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط smontazer

اصلاح کد

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

 

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



 
پاسخ

اصلاح کد

#4
متاسفانه زمانی برای کدنویسی های طولانی ندارم، تمامی مواردی که برای این کدنویسی نیاز هست، در سایت کلیدستان نوشته شده و بنابراین نوشتن کدها، تنها نیازمند صرف وقت می باشد و نیازی به یادگیری نکته جدیدی نیست. 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان