yuwdsacasoicsd
4 سال پیش توسط yuwdsacasoicsd مطرح شد
8 پاسخ

ساخت chart برای کاربر

سلام دوستان میخواهم برای کاربر یک چارت ایجاد کنم. این چارت این طور خواهد بود:
کاربر با شرکت در یک مسابقه و با حل کردن هر سوال به کاربر امتیازی داده خواهد شد.
میخواهم که این امتیازات دریافت شده کاربر در یک چارت نمایش بدم.
برای مثال همانند سایت : سایت کوئرا
چارت هم طبق chart.js و vue.js خواهد بود.
ممنون میشوم کمک کید.


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
2

@mohammad.ar
بله میتونید یک جدول برای امتیازات داشته باشید اما مجموعه امتیاز کاربر رو در یک فیلد در جدول کاربر قرار بدید هیچ وقت جمع کل امیتاز رو با محاسبه امتیازات از جدول امتیازات در صفحه‌های مختلف نشون ندید ! اما یعنی چی
برای مثال همین راکت یک شخص ۲۰۰ هزار تجربه داره که از امیتازهای کوچیک بدست اومده اگر بخوایم در هر صفحه این امتیاز رو نمایش بدیم و برای نمایشش بریم وارد جدول امتیاز بشیم و امتیازهای مربوط به این کاربر رو برگردونیم و جمع کنیم
حجم زیادی از اطلاعات میشه حالا در پروژه های بزرگ‌تر بدتر میشه این داستان
بجاش کاربر مورد نظر یک فیلد داره در جدول کاربران که هر امتیازی که میگیره در کنار اینکه به جدول امتیاز اضافه میشه در اون فیلد هم جمع میشه . و در هر صفحه‌ای به امتیاز کلیش نیاز باشه اون فیلد صدا زده میشه


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
1

خوب امتیازها رو بگیرید در چارت به نمیاش در بیارید دیگه مشکلتون چیه این وسط ؟


yuwdsacasoicsd
تخصص : برنامه نویس
@wenom 4 سال پیش مطرح شد
0

@hesammousavi

ممنون پاسخ دادید تنها مشکلی که دارم این هست واسه ی امتیاز ها ی مدل و مایگرشن بسازم!


فرهاد
تخصص : Javascript Developer
@cfarhad 4 سال پیش مطرح شد
1

@mohammad.ar خب میتونید امتیاز ها رو داخل یه متغیر بریزید و اگه بتونید مستندات chartJS رو بخونید خیلی خوبه

اگع نمیتونید بخونید توی یوتیوب Traversy media به صورت خیلی ساده توضیح داده


yuwdsacasoicsd
تخصص : برنامه نویس
@wenom 4 سال پیش مطرح شد
0

@cfarhad
دوست عزیز بی نهایت ممنون!
فقط می خواستم بدونم واسه امتیاز هم ی مدل بسازم!


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
2

@mohammad.ar
بله میتونید یک جدول برای امتیازات داشته باشید اما مجموعه امتیاز کاربر رو در یک فیلد در جدول کاربر قرار بدید هیچ وقت جمع کل امیتاز رو با محاسبه امتیازات از جدول امتیازات در صفحه‌های مختلف نشون ندید ! اما یعنی چی
برای مثال همین راکت یک شخص ۲۰۰ هزار تجربه داره که از امیتازهای کوچیک بدست اومده اگر بخوایم در هر صفحه این امتیاز رو نمایش بدیم و برای نمایشش بریم وارد جدول امتیاز بشیم و امتیازهای مربوط به این کاربر رو برگردونیم و جمع کنیم
حجم زیادی از اطلاعات میشه حالا در پروژه های بزرگ‌تر بدتر میشه این داستان
بجاش کاربر مورد نظر یک فیلد داره در جدول کاربران که هر امتیازی که میگیره در کنار اینکه به جدول امتیاز اضافه میشه در اون فیلد هم جمع میشه . و در هر صفحه‌ای به امتیاز کلیش نیاز باشه اون فیلد صدا زده میشه


yuwdsacasoicsd
تخصص : برنامه نویس
@wenom 4 سال پیش مطرح شد
0

@hesammousavi
اوکی فهمیدم . ممنون


yuwdsacasoicsd
تخصص : برنامه نویس
@wenom 4 سال پیش مطرح شد
0

@hesammousavi
آقای موسوی گفته بودید که

یک جدول برای امتیازات داشته باشید اما مجموعه امتیاز کاربر رو در یک فیلد در جدول کاربر قرار بدید هیچ وقت جمع کل امیتاز رو با محاسبه امتیازات از جدول امتیازات در صفحه‌های مختلف نشون ندید ! اما یعنی چی
برای مثال همین راکت یک شخص ۲۰۰ هزار تجربه داره که از امیتازهای کوچیک بدست اومده اگر بخوایم در هر صفحه این امتیاز رو نمایش بدیم و برای نمایشش بریم وارد جدول امتیاز بشیم و امتیازهای مربوط به این کاربر رو برگردونیم و جمع کنیم
حجم زیادی از اطلاعات میشه حالا در پروژه های بزرگ‌تر بدتر میشه این داستان
بجاش کاربر مورد نظر یک فیلد داره در جدول کاربران که هر امتیازی که میگیره در کنار اینکه به جدول امتیاز اضافه میشه در اون فیلد هم جمع میشه . و در هر صفحه‌ای به امتیاز کلیش نیاز باشه اون فیلد صدا زده میشه

منم همچین کردم. امتیاز های کاربر رو برمیگردونم فقط lables به این شکله :

<div class="card-header card-header-success">
                        <div class="ct-chart" id="dailySalesChart">
                            <user :values="[0,0,0,0,0,0,0,0,0,0,0,0]" :labels="[&quot;\u0641\u0631\u0648\u0631\u062f\u06cc\u0646&quot;,&quot;\u0627\u0631\u062f\u06cc\u0628\u0647\u0634\u062a&quot;,&quot;\u062e\u0631\u062f\u0627\u062f&quot;,&quot;\u062a\u06cc\u0631&quot;,&quot;\u0645\u0631\u062f\u0627\u062f&quot;,&quot;\u0634\u0647\u0631\u06cc\u0648\u0631&quot;,&quot;\u0645\u0647\u0631&quot;,&quot;\u0622\u0628\u0627\u0646&quot;,&quot;\u0622\u0630\u0631&quot;,&quot;\u062f\u06cc&quot;,&quot;\u0628\u0647\u0645\u0646&quot;,&quot;\u0627\u0633\u0641\u0646\u062f&quot;]"></user>
                        </div>
                    </div>

کد های منم :

 $month = 12;
        $score = auth()->user()->score()->latest()->get();
        $labels = $this->getLastMonth($month);
        $values =  $this->CheckCount($score->pluck('published') , $month);
  private function getLastMonth(int $month){
        for ($i = 0 ;  $i < $month ; $i++){
            $labels[] = jdate(Carbon::now()->subMonth($i))->format('%B');
        }
        return array_reverse($labels);
    }

    private function CheckCount($count, int $month){
        for ($i = 0; $i < $month ; $i++){
            $new[$i] = empty($count[$i]) ?  0 : $count[$i];
        }
        return array_reverse($new);
    }

و چارت نمایش داده نمیشه.


yuwdsacasoicsd
تخصص : برنامه نویس
@wenom 4 سال پیش مطرح شد
0

@hesammousavi
میشه کمک کنید. ممنون


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام