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

5 روز پیش
توسط mohammad rr آپدیت شد
mohammad rr ( 11460 تجربه )
3 هفته پیش
تخصص : برنامه نویس

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

بهترین پاسخ انتخاب شده توسط mohammad rr
حسام موسوی
3 هفته پیش

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

حسام موسوی ( 291314 تجربه )
3 هفته پیش
تخصص : طراح و برنامه نویس

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

mohammad rr ( 11460 تجربه )
3 هفته پیش
تخصص : برنامه نویس

@hesammousavi

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

فرهاد ( 17650 تجربه )
3 هفته پیش
تخصص : برنامه نویس

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

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

mohammad rr ( 11460 تجربه )
3 هفته پیش
تخصص : برنامه نویس

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

حسام موسوی ( 291314 تجربه )
3 هفته پیش
تخصص : طراح و برنامه نویس

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

mohammad rr ( 11460 تجربه )
3 هفته پیش
تخصص : برنامه نویس

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

mohammad rr ( 11460 تجربه )
5 روز پیش
تخصص : برنامه نویس

@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);
    }

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

mohammad rr ( 11460 تجربه )
5 روز پیش
تخصص : برنامه نویس

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

برای ارسال پاسخ باید وارد سایت شوید