diff --git a/modul6/database.php b/modul6/database.php new file mode 100644 index 0000000..1e75f63 --- /dev/null +++ b/modul6/database.php @@ -0,0 +1,6 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + return $conn; +} + +class Medlem { + public string $rolle = "Standard"; + public int $dbid; + public string $fornavn = ''; + public string $etternavn = ''; + public string $adresse1 = ''; + public string $adresse2 = ''; + public int $postnummer; + public string $poststed = ''; + public string $epost = ''; + public DateTime $dob; + public string $kjoenn = ''; + public string $interesser = ''; + public string $kursaktiviteter = ''; + public DateTime $medlem_siden; + public string $kontigentstatus = ''; + + public function set($felt, $verdi){ + $this->${$felt} = $verdi; + } + + public function get($felt){ + return $this->${$felt}; + } + +} + +// Caching av poststed +$poststed = array(); +function hentPoststed($postnummer): string { + global $poststed; + + if(!$poststed[ $postnummer ]){ + $db = getPdoConn(); + $stmt = $db->prepare("SELECT postnummer, poststed FROM Postnummer WHERE postnummer = ?"); + $stmt->execute([$postnummer]); + + foreach ($stmt as $row){ + $poststed[$row['postnummer']] = $row['poststed']; + } + } + + return $poststed[$postnummer] ?? "Ukjent"; +} \ No newline at end of file diff --git a/modul6/index.php b/modul6/index.php new file mode 120000 index 0000000..85750bf --- /dev/null +++ b/modul6/index.php @@ -0,0 +1 @@ +../modul1/index.php \ No newline at end of file diff --git a/modul6/index6_1.php b/modul6/index6_1.php new file mode 100644 index 0000000..17189d2 --- /dev/null +++ b/modul6/index6_1.php @@ -0,0 +1,127 @@ + + + + <?=title();?> + + + + +
+

+

+

Medlemsliste

+ + \n".$e); + } + + + $hentMedlemmer = " + SELECT medlemId, fornavn, etternavn, adresse, m.postnummer, p.poststed, epost, dob, kjoenn, kontigentStatus, medlemStart + FROM Medlem m + INNER JOIN Postnummer p ON m.postnummer = p.postnummer + ORDER BY etternavn, fornavn + LIMIT $pageStart,$perPage + "; + + try { + $statement = $db->prepare($hentMedlemmer); + $statement->execute(); + + $statement->setFetchMode(PDO::FETCH_ASSOC); + $resultat = $statement->fetchAll(); + + foreach ($resultat as $key => $row){ + $medlem = new Medlem(); + $medlem->dbid = $row['medlemId']; + $medlem->fornavn = $row['fornavn']; + $medlem->etternavn = $row['etternavn']; + $medlem->adresse1 = $row['adresse']; + $medlem->postnummer = $row['postnummer']; + $medlem->poststed = $row['poststed']; + $medlem->epost = $row['epost']; + $medlem->dob = DateTime::createFromFormat('Y-m-d', $row['dob'] ); + $medlem->kjoenn = $row['kjoenn']; + $medlem->kontigentstatus = $row['kontigentStatus']; + $medlem->medlem_siden = DateTime::createFromFormat('Y-m-d', $row['medlemStart'] ); + + array_push($medlemmer, $medlem); + } + } + catch (PDOException $e){ + echo "SQL-feil:
\n".$e; + } finally { + $db = null; + } + + ?> +
+ +
+ + + + + + + + + + + + + + + + + + + + + $medlem){ + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + } + ?> + +
IDFornavnEtternavnAdressePostnummer/-stedMobilnummerE-postFødselsdatoKjønnInteresserKursaktiviteterMedlem sidenKontigentstatus
".($medlemID+1)."".($medlem->fornavn ?? '')."".($medlem->etternavn ?? '')."".($medlem->adresse1 ?? ''); + if(!empty($medlem->adresse2)){ echo "
".$medlem->adresse2; } // Skriver inn adresselinje 2 hvis aktuelt + echo "
{$medlem->postnummer} {$medlem->poststed}".($medlem->mobilnummer ?? '')."".($medlem->epost ?? '')."".($medlem->dob->format('d. M Y') ?? '')."".($medlem->kjoenn ?? '')."".($medlem->interesser ?? '')."".($medlem->kursaktiviteter ?? '')."".($medlem->medlem_siden->format('d. M Y') ?? '')."".($medlem->kontigentstatus ?? '')."
+ +
+ + + \ No newline at end of file diff --git a/modul6/index6_2.php b/modul6/index6_2.php new file mode 100644 index 0000000..c342e7c --- /dev/null +++ b/modul6/index6_2.php @@ -0,0 +1,33 @@ + + + + <?=title();?> + + + + +
+

+

+

Medlemsliste

+ + \n"; + echo hentPoststed(4614)."
\n"; + echo hentPoststed(4462)."
\n"; + echo hentPoststed(4614)."
\n"; + echo hentPoststed(4462)."
\n"; + echo hentPoststed(4614)."
\n"; + echo hentPoststed(4615)."
\n"; + + ?> +
+ + + \ No newline at end of file