'NN', 'Bedrift' => 'NN', 'Kortnummer' => 'NN', 'Lagleder' => 'NN', 'Telefon' => 0, 'Deltagere' => 0, 'Runder' => 0 ]; public PDO $dbh; 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]); } /** * Returns mixed, array if exists, FALSE if not. */ public function getTeamByID(int $LagID) { $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->template; $sth->execute([ $template['LagNavn'], $template['Bedrift'], $template['Kortnummer'], $template['Lagleder'], $template['Telefon'], $template['Deltagere'], $template['Runder'], ]); return $this->dbh->lastInsertId(); } /** * Check if team is empty by comparing it to the template */ public function isEqualEmptyTemplate(array $team): bool { $template = $this->template; foreach ($template as $key => $value) { if ((string)$team[$key] !== (string)$template[$key]) { return FALSE; } } return TRUE; } /** * Returns TRUE if team exists, FALSE if not */ public function recieveStick(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->template; $sth->execute([ $template['LagNavn'], $template['Bedrift'], $cardnumber, $template['Lagleder'], $template['Telefon'], $template['Deltagere'], $template['Runder'], ]); return FALSE; } }