Test ajout graphique

merging_APE
Paul LEVRAULT 1 year ago
parent f844bfaca2
commit 23ccabbb71

@ -12,10 +12,10 @@ $dotenv->safeLoad();
// const DB_PASSWORD = $_ENV['DB_PASSWORD'] ?? 'achanger';
define("APP_ENV", 'development');
const DB_SERVER = 'pgsql';
const DB_HOST = 'localhost';
const DB_DATABASE = 'sae_3';
const DB_USER = 'Perederii';
const DB_SERVER = 'mysql';
const DB_HOST = 'localhost:3306';
const DB_DATABASE = 'new';
const DB_USER = 'root';
const DB_PASSWORD = '';
//const APP_ENV = 'console';

@ -9,6 +9,8 @@ use Shared\Attributes\Route;
use Twig\Environment;
use Data\Core\Preferences;
use Shared\Log;
use Database\Athletegateway;
use Database\Connexion;
class UserController extends BaseController
{
@ -43,6 +45,12 @@ class UserController extends BaseController
#[Route(path: '/home', name: 'home', methods: ['GET'])]
public function home(): Response
{
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
$activity = $athleteGateway->getListActivity('1');//$currentUser->getId()
foreach($activity as $act){
$chart["act"] = $act["nbActivite"];
$chart["mois"] = date('M', mktime(0, 0, 0, $act["mois"], 10));
}
return $this->render('./page/home.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
@ -50,6 +58,7 @@ class UserController extends BaseController
'role' => "Athlète",
'friendship' => [],
'analyzes' => [],
'chart' => $chart,
'mails' => [],
'users' => [],
'infoUser' => [],

@ -22,7 +22,26 @@
Stastiques globales
</div>
<div class="card-body">
{# <canvas id="myAreaChart" width="100%" height="40"></canvas> #}
<canvas id="myAreaChart" width="100%" height="40">
<script src="path/to/chartjs/dist/chart.umd.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {
const ctx = document.getElementById('myAreaChart').getContext('2d');
const myChart = new Chart(ctx, {
type: 'line',
data: {
labels: chart.map(entry => entry.mois),
datasets: [{
label: 'Nombre d\'activité',
data: chart.map(entry => entry.act),
fill: false
}]
}
});
});
</script>
</canvas>
</div>
</div>
</div>

@ -87,6 +87,17 @@ class AthleteGateway {
return $this->connection->executeWithErrorHandling($query, $params);
}
public function getListActivity(int $idAthlete): array
{
$query = "SELECT count(ac.idActivite) AS nbActivite, MONTH(ac.date) AS mois FROM Athlete at, Activite ac WHERE at.idAthlete = :idAthlete AND ac.date > DATE_SUB(date, INTERVAL 1 YEAR) AND ac.athleteId=at.idAthlete GROUP BY mois";
$params = [
':idAthlete' => $idAthlete,
];
return $this->connection->executeWithErrorHandling($query, $params);
}
public function addAthlete(AthleteEntity $athlete): array
{
$query = "INSERT INTO Athlete (nom, prenom, email, sexe, taille, poids, motDePasse, dateNaissance, isCoach)

Loading…
Cancel
Save