'NN', 'Bedrift' => 'NN', 'Kortnummer' => 'NN', 'Lagleder' => 'NN', 'Telefon' => 0, 'Deltagere' => 0, 'Runder' => 0 ]; public function __construct(Database $database) { $this->dbh = $database->conn; } public function getTable(): array { $sth = $this->dbh->query('SELECT * FROM lagtabell'); return $sth->fetchAll(PDO::FETCH_ASSOC); } public function deleteTeamByID(int $LagID): void { $sth = $this->dbh->prepare('DELETE FROM lagtabell WHERE LagID = ?'); $sth->execute([$LagID]); } public function getTeamByID(int $LagID) # Mixed, array if exists, false if not { $sth = $this->dbh->prepare('SELECT * FROM lagtabell WHERE LagID = ?'); $sth->execute([$LagID]); return $sth->fetch(PDO::FETCH_ASSOC); } // why this is so long who cares??? public function updateTeamByID( int $id, string $LagNavn, string $Bedrift, string $Kortnummer, string $Lagleder, int $Telefon, string $Deltagere, int $Runder ): void { $sth = $this->dbh->prepare( 'UPDATE lagtabell SET LagNavn = ?, Bedrift = ?, Kortnummer = ?, Lagleder = ?, Telefon = ?, Deltagere = ?, Runder = ? WHERE LagID = ?' ); $sth->execute([$LagNavn, $Bedrift, $Kortnummer, $Lagleder, $Telefon, $Deltagere, $Runder, $id]); } public function addEmptyTeam(): int { $sth = $this->dbh->prepare( 'INSERT INTO lagtabell (LagNavn, Bedrift, Kortnummer, Lagleder, Telefon, Deltagere, Runder) VALUES (?, ?, ?, ?, ?, ?, ?)' ); $template = $this->emptyTeamTemplate; $template = [ $template['LagNavn'], $template['Bedrift'], $template['Kortnummer'], $template['Lagleder'], $template['Telefon'], $template['Deltagere'], $template['Runder'], ]; $sth->execute($template); return $this->dbh->lastInsertId(); } // Check if team is empty by comparing it to the template public function isEqualEmptyTemplate(array $team): bool { $template = $this->emptyTeamTemplate; $equal = FALSE; foreach ($team as $key => $value) { if (!isset($template[$key])) { continue; } if ($template[$key] !== $team[$key]) { $equal = FALSE; break; } $equal = TRUE; } return $equal; } // Return true if team exists, false if not public function insert(string $cardnumber): bool { $sth = $this->dbh->prepare('SELECT * FROM lagtabell WHERE Kortnummer = ?'); $sth->execute([$cardnumber]); $row = $sth->fetch(PDO::FETCH_ASSOC); if ($row) { // Team exists, insert into time table $sth = $this->dbh->prepare('INSERT INTO tidtabell (LagID) VALUES (?)'); $sth->execute([$row['LagID']]); return TRUE; } // Team does not exist, lets create it $sth = $this->dbh->prepare( "INSERT INTO `lagtabell` (`LagNavn`, `Bedrift`, `Kortnummer`, `Lagleder`, `Telefon`, `Deltagere`, `Runder`) VALUES (?, ?, ?, ?, ?, ?, ?)" ); $template = $this->emptyTeamTemplate; $template = [ $template['LagNavn'], $template['Bedrift'], $cardnumber, $template['Lagleder'], $template['Telefon'], $template['Deltagere'], $template['Runder'], ]; $sth->execute($template); return FALSE; } }