test to add chart but not conclude

merging_APE
Antoine PEREDERII 1 year ago
parent 90c43b08f2
commit 9e57169ae6

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

@ -47,10 +47,26 @@ class UserController extends BaseController
{
$athleteGateway = new AthleteGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
$activity = $athleteGateway->getListActivity('1');//$currentUser->getId()
// Log::dd($activity);
$chart = [];
foreach($activity as $act){
$chart["act"] = $act["nbActivite"];
$chart["mois"] = date('M', mktime(0, 0, 0, $act["mois"], 10));
$chart[] = ['act' => $act['nbactivite'], 'mois' => date('m', $act['mois'])];
}
// $activityGateway = new ActivityGateway(new Connexion(DSN, DB_USER, DB_PASSWORD));
// $listSearch = $activityGateway->getActivity();
// $map = new ActivityMapper();
// $activityGateway = $map->activitySqlToEntity($listSearch);
// $listActivity = [];
// foreach ($activityGateway as $entity) {
// $activity = $map->activityEntityToModel($entity);
// $listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(),
// 'date' => $activity->getDate()->format("D j F Y"), 'heureDebut' => $activity->getHeureDebut()->format("H\h i"), 'heureFin' => $activity->getHeureFin()->format("H\h i"),
// 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(),
// 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(),
// 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()];
// }
// Log::dd($chart);
return $this->render('./page/home.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",

@ -21,27 +21,55 @@
<i class="fas fa-chart-area me-1"></i>
Stastiques globales
</div>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<div class="card-body">
<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');
<canvas id="myChart" width="100%" height="40">
</canvas>
<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
}]
}
});
const myChart = new Chart(ctx, {
type: 'line',
data: {
labels: chart.map(entry => entry.mois),
datasets: [{
label: 'Nombre d\'activité',
data: {
{% for analyze in analyzes %}
{{ chart.act }},
{{ chart.mois }},
{% endfor %}
},
fill: false
}]
}
});
</script>
</canvas>
});
</script>
{# <script>#}
{# const ctx = document.getElementById('myChart');#}
{# new Chart(ctx, {#}
{# type: 'bar',#}
{# data: {#}
{# labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],#}
{# datasets: [{#}
{# label: '# of Votes',#}
{# data: [12, 19, 3, 5, 2, 3],#}
{# borderWidth: 1#}
{# }]#}
{# },#}
{# options: {#}
{# scales: {#}
{# y: {#}
{# beginAtZero: true#}
{# }#}
{# }#}
{# }#}
{# });#}
{# </script>#}
</div>
</div>
</div>

@ -89,7 +89,12 @@ class AthleteGateway {
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";
$query = "SELECT count(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois
FROM Athlete at, Activite ac
WHERE at.idAthlete = :idAthlete
AND ac.date > CURRENT_DATE - INTERVAL '1 YEAR'
AND ac.athleteId = at.idAthlete
GROUP BY mois";
$params = [
':idAthlete' => $idAthlete,
@ -98,6 +103,7 @@ class AthleteGateway {
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)

28
package-lock.json generated

@ -0,0 +1,28 @@
{
"name": "Web",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"chart.js": "^4.4.1"
}
},
"node_modules/@kurkle/color": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
"integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
},
"node_modules/chart.js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.1.tgz",
"integrity": "sha512-C74QN1bxwV1v2PEujhmKjOZ7iUM4w6BWs23Md/6aOZZSlwMzeCIDGuZay++rBgChYru7/+QFeoQW0fQoP534Dg==",
"dependencies": {
"@kurkle/color": "^0.3.0"
},
"engines": {
"pnpm": ">=7"
}
}
}
}

@ -0,0 +1,5 @@
{
"dependencies": {
"chart.js": "^4.4.1"
}
}
Loading…
Cancel
Save