آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

راهنمایی در حل پروژه (حل نشده)

شهریار توکلی  11 سال پیش  10 سال پیش
0 0

با سلام به همه. همین طوری که تو تصویر مشاهده میکنین یک RatingBar دارم هنگامی که کاربر روی دکمه ی Send کلیک میکنه باید Rate که انتخاب کرده به همراه عدد 1 که یعنی رای داده به دیتابیس ارسال بشه و در نهایت طی عملیاتی تعداد نفرات رای دهنده و ریت میانگین رو روی ریتینگ بار نمایش بده. من این کارو انجام دادم یعنی یک بار ارسال کردم مثلا rate =3 و عدد 1 رو ارسال کردم برای بار دوم که ارسال میکنم rate=3 و عدد 1 ریت با رقم قبلیش جمع میشه و در دیتابیس قرار میگیره ولی برای تعداد نفرات همون عدد1  دوباره آپدیت میشه. این مشکل رو چی جوری حل کنم؟

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
system32  11 سال پیش
+1 0

با سلام 

اگر هر رای رو جداگانه ثبت می کنید که نبایستی مشکلی باشه با تقسیم مجموع آرا بر تعداد ارا بایستی انجام بشه . ولی اگر با به روز رسانی این کار رو انجام میدید بایستی هر بار آخرین تعداد رای دهندگان رو بگیرید و یک واحد به اون اضافه کنید و دوباره به روز رسانی کنید .

یکی از مشکلات کار با دیتابیس این هست که فرآیندهای عملیاتی در دیتابیس انجام بشوند یا در برنامه . 

پیشنهاد من هم این هست که کار خودتون رو با یک فیلد انجام بدید که میزان رای (برای مثال 1 تا 5)  رو ذخیره میکنه و به جای جمع کردن و به روز رسانی از insert استفاده کنید . برای نمایش میانگین Rate کافیه که با دو دستور sum و count از دیتابیس این فیلد رو بخونید و نتیجه رو بر هم تقسیم کنید . 

امیدوارم متوجه منظورم شده باشید . به امید موفقیت 

0 0
دوست عزیز از راهنماییت ممنون.ولی بخش دوم رو متوجه نشدم.برای اینکه insert کنم به جای update باید یک جدول جدا درست کنم ؟ چون با هر بار insert مقدار قبلی با مقدار جدید جایگزین میشه ؟ و روش update چه مشکلی داره ؟ (11 سال پیش)
+1 0
سلام . با Insert اطلاعات به صورت رکوردهای جداگانه ثبت می شوند ، نه اینکه با مقدار قبلی جایگزین شوند . از مزایای این گونه ثبت اینکه بعدا می توانید ببینید هر نفر چه امتیازی داده است (در صورتی که اطلاعات مشخص دیگری مثل IEME گوشی را ثبت کنید) و یا ببینید چه تعداد از رای دهندگان 1 امتیاز ، 2 امتیاز و ... داده اند. این موارد می تواند در کارهای دیگری مثل تحلیل برنامه به کار آید. در صورتی که قصد دارید با آپدیت کار کنید بایستی تعداد افراد رای داده قبلی را از جدول بخوانید و با 1 جمع کنید و دوباره فیلد را Update کنید . (11 سال پیش)
0 0
با تشکر دوست عزیز (11 سال پیش)
پاسخ به سوال 
شهریار توکلی  11 سال پیش
0 0

دوستان عزیز من پروژه ای که در زیز عکس هاشو قرار میدم درست کردم ولی هنگام آپدیت مشکل دارم . اولین مشکل که روی Send کلیک میکنم برنامه force close میده . دومین مشکلی که دارم تعداد رای دهنده ها رو جمع نمیکنه یعنی به جای 2 ، 11 نشون میده .

پاسخ به سوال 
شهریار توکلی  11 سال پیش
0 0

LOG:

0 0
:| :( (11 سال پیش)
0 0
(10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .