diff --git a/class/stats.php b/class/stats.php new file mode 100644 index 0000000000000000000000000000000000000000..971daea44b781b707cb36d03cbc9d520cdc597f5 --- /dev/null +++ b/class/stats.php @@ -0,0 +1,142 @@ +<?php + +class Stats +{ + public function factureMoyClient() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT SUM(t.prix)/COUNT(*) + FROM ( SELECT c.nom, c.prenom, SUM(f.prix_total) AS prix + FROM animal a, client c, facture f + WHERE a.client = c.id + AND f.animal = a.id + GROUP BY c.nom, c.prenom, c.id) t" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + public function nbAnimalMoyClient() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT SUM(t.count)/COUNT(*) + FROM ( SELECT c.nom, c.prenom, COUNT(a.client) AS count + FROM animal a, client c + WHERE a.client = c.id + GROUP BY c.nom, c.prenom, c.id) t" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + + public function nbAnimalClient() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT c.nom, c.prenom, COUNT(a.client) + FROM animal a, client c + WHERE a.client = c.id + GROUP BY c.nom, c.prenom, c.id" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + public function top3Client() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT c.nom, c.prenom, SUM(f.prix_total) AS prix + FROM animal a, client c, facture f + WHERE a.client = c.id + AND f.animal = a.id + GROUP BY c.nom, c.prenom, c.id + LIMIT 3" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + public function top3Facture() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT c.nom, c.prenom, f.prix_total + FROM animal a, client c, facture f + WHERE a.client = c.id + AND f.animal = a.id + ORDER BY f.prix_total DESC + LIMIT 3" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + public function top5Veterinaire() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT e.nom, e.prenom, COUNT(*) AS c + FROM employe e, rdv r + WHERE e.id = r.employe + AND e.is_veterinaire = '1' + GROUP BY e.nom, e.prenom, e.id + ORDER BY c DESC + LIMIT 5" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + public function top10Race() + { + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT r.nom, count(*) + FROM animal a, race r + WHERE a.race = r.id + GROUP BY r.nom, r.id + LIMIT 10" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + public function top10Espece() + { + + $bdd = new Db(); + + $requete_prepare = $bdd->db->prepare(" SELECT e.nom, count(*) + FROM animal a, race r, espece e + WHERE a.race = r.id + AND e.id = r.espece + GROUP BY e.nom, e.id + LIMIT 10" ); // on prépare notre requête + $requete_prepare->execute(); + + $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC); + + return $ligne; + } + + + +} \ No newline at end of file diff --git a/controller/stats.php b/controller/stats.php index f629ad09ba1be35712a4516c96638ab1482a6403..93014a52a3a880bae440d30d692b4320d9a2783d 100644 --- a/controller/stats.php +++ b/controller/stats.php @@ -3,5 +3,7 @@ Controller Statistiques, show statistiques. */ + $stats = new Stats(); + include 'view/stats.php'; \ No newline at end of file diff --git a/template/header.php b/template/header.php index e88b522d558dc906dd3a311a5c60846968983124..babff47f4b9d98077f41d560d244efa50465b10a 100644 --- a/template/header.php +++ b/template/header.php @@ -36,7 +36,6 @@ height: 30px; background-color: #108a93; text-align: center; - } diff --git a/view/stats.php b/view/stats.php index fb9b0074fa088269497d93347a9789f49cb5d095..f14845fb98318bfc26864e31b1ca37d4846030f4 100644 --- a/view/stats.php +++ b/view/stats.php @@ -7,7 +7,7 @@ <thead> <th>t1</th> - <th>t2</th> + <th><?php print_r($stats->nbAnimalMoyClient()); ?></th> </thead> <tbody> <tr>