diff --git a/app/kernel/Database.php b/app/kernel/Database.php index 8cde5e191acde25b92a50820ca0190f08d198024..28da317eac6521e0abaf116506c455281d6fdf54 100644 --- a/app/kernel/Database.php +++ b/app/kernel/Database.php @@ -13,9 +13,9 @@ class Database { // classe de gestion de connexion à la BDD protected function __construct() { // constructeur, qui instancie PDO pour se connecter à la BDD et qui stocke cette connexion dans l'attribut $_db $this->_db = new PDO( - "mysql:host=localhost;dbname=projweb;charset=utf8", // penser à modifier le nom de l'hébergeur et de la base - "root", // ainsi que l'identifiant - "" // et le mot de passe + "pgsql:host=localhost;dbname=projweb", // penser à modifier le nom de l'hébergeur et de la base + "postgres", // ainsi que l'identifiant + "postgres" // et le mot de passe ); } diff --git a/app/model/Jeu.php b/app/model/Jeu.php index 743c804838190916c709bba7a189e11cb65ac41b..9bc6384dc06b784babf6e89b7f4bbaadf02b4fcc 100644 --- a/app/model/Jeu.php +++ b/app/model/Jeu.php @@ -25,7 +25,7 @@ class Jeu extends Model { public static function getMostPlayed() { $db = Database::getInstance(); - $sql = 'SELECT nom, slug, COUNT(*) as "parties" FROM R_partie JOIN R_jeu ON slug = jeu GROUP BY nom ORDER BY parties DESC'; + $sql = 'SELECT nom, slug, COUNT(*) as "parties" FROM R_partie JOIN R_jeu ON slug = jeu GROUP BY nom, r_jeu.slug ORDER BY parties DESC'; $stmt = $db->query($sql); $ret = array(); $k = 0; diff --git a/generate_base.sql b/generate_base.sql index 922979461979a6b26ca73bf8eaffd28210dd7626..e91ec89a8cf5bbd7df035bb86f3bcfc464adab6a 100644 --- a/generate_base.sql +++ b/generate_base.sql @@ -1,15 +1,20 @@ +-- Pour générer la base de données PostgreSQL pour le projet Classements Ludiques +CREATE TYPE type_jeu AS ENUM ('duels', 'equipes'); +CREATE TYPE type_scores_jeu AS ENUM ('classement', 'scores'); + + DROP TABLE IF EXISTS R_jeu; CREATE TABLE R_jeu ( nom VARCHAR(255) NOT NULL, description TEXT NOT NULL, slug VARCHAR(255) PRIMARY KEY, - est_valide TINYINT(1) NOT NULL, - max_joueurs INT(11), - min_joueurs INT(11), - min_equipes INT(11), - max_equipes INT(11), - type ENUM ('duels', 'equipes') NOT NULL, - type_scores ENUM ('classement', 'scores') NOT NULL + est_valide BOOLEAN NOT NULL, + max_joueurs INT, + min_joueurs INT, + min_equipes INT, + max_equipes INT, + type type_jeu NOT NULL, + type_scores type_scores_jeu NOT NULL ); DROP TABLE IF EXISTS R_joueur; @@ -32,18 +37,18 @@ CREATE TABLE R_admin ( DROP TABLE IF EXISTS R_partie; CREATE TABLE R_partie ( - id INT(11) PRIMARY KEY AUTO_INCREMENT, + id SERIAL PRIMARY KEY, jeu VARCHAR(255) REFERENCES R_jeu(slug), date TIMESTAMP NOT NULL ); DROP TABLE IF EXISTS R_joueur_partie; CREATE TABLE R_joueur_partie ( - partie INT(11) REFERENCES R_partie(id), + partie INT REFERENCES R_partie(id), joueur VARCHAR(255) REFERENCES R_joueur(slug), - classement INT(11) NOT NULL, - score INT(11) NOT NULL, - score_partie INT(11), + classement INT NOT NULL, + score INT NOT NULL, + score_partie INT, PRIMARY KEY (joueur, partie) ); @@ -51,9 +56,9 @@ DROP TABLE IF EXISTS R_joueur_jeu; CREATE TABLE R_joueur_jeu ( joueur varchar(255) REFERENCES R_joueur(slug), jeu VARCHAR(255) REFERENCES R_jeu(slug), - score INT(11), - classement INT(11), - est_jeu_favoris tinyint(1), + score INT, + classement INT, + est_jeu_favoris BOOLEAN, PRIMARY KEY (joueur, jeu) ); diff --git a/valeurs.sql b/valeurs.sql index 6498eaee968495f677157281a4f41e5b5cd8c955..ea51edc9b99a4af4284191b3a88eca527645dfdc 100644 --- a/valeurs.sql +++ b/valeurs.sql @@ -1,13 +1,13 @@ INSERT INTO R_jeu (nom, description, slug, est_valide, min_joueurs, max_joueurs, min_equipes, max_equipes, type, type_scores) VALUES -('Rencontres Cosmiques', 'Jeu de plateau de 3 à 6 joueurs dont le but consiste à remporter cinq planètes adverses.', 'rencontres-cosmiques', 1, 3, 5, NULL, NULL, 'duels', 'classement'), -('Jeu Équipes', 'cats', 'jeu-equipes', 0, 0, NULL, 0, 4, 'equipes', 'scores'); +('Rencontres Cosmiques', 'Jeu de plateau de 3 à 6 joueurs dont le but consiste à remporter cinq planètes adverses.', 'rencontres-cosmiques', true, 3, 5, NULL, NULL, 'duels', 'classement'), +('Jeu Équipes', 'cats', 'jeu-equipes', false, 0, NULL, 0, 4, 'equipes', 'scores'); INSERT INTO R_joueur (slug, pseudo, password, nom, prenom, email, description, avatar) VALUES -('nestor', 'Nestor', '$2y$10$CwRFu66YRrpI2dFmLWWjeeDn2GI5Gup5ililfJsT5HDE.zyiAG/6m', 'Bochet', 'Vincent', 'vbochet@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', 0), -('nestor1', 'Nestor1', '', 'Bochet1', 'Vincent', 'vbochet1@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', 0), -('nestor2', 'Nestor2', '', 'Bochet2', 'Vincent', 'vbochet2@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', 0), -('nestor3', 'Nestor3', '', 'Bochet3', 'Vincent', 'vbochet3@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', 0), -('nestor4', 'Nestor4', '', 'Bochet4', 'Vincent', 'vbochet4@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', 0); +('nestor', 'Nestor', '$2y$10$CwRFu66YRrpI2dFmLWWjeeDn2GI5Gup5ililfJsT5HDE.zyiAG/6m', 'Bochet', 'Vincent', 'vbochet@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', false), +('nestor1', 'Nestor1', '', 'Bochet1', 'Vincent', 'vbochet1@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', false), +('nestor2', 'Nestor2', '', 'Bochet2', 'Vincent', 'vbochet2@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', false), +('nestor3', 'Nestor3', '', 'Bochet3', 'Vincent', 'vbochet3@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', false), +('nestor4', 'Nestor4', '', 'Bochet4', 'Vincent', 'vbochet4@gmail.com', 'L''un des quatre membres du groupe, le moins joueur des quatre. :)', false); INSERT INTO R_admin (identite) VALUES diff --git a/www/images/avatar/b b/www/images/avatar/b new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391