127 lines
4.1 KiB
PHP
127 lines
4.1 KiB
PHP
<?php
|
|
include '../common.php';
|
|
|
|
include 'forberedelser.php';
|
|
|
|
?><!DOCTYPE html>
|
|
<html lang="no">
|
|
<head>
|
|
<title><?=title();?></title>
|
|
<link rel="stylesheet" href="../index.css">
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
<h1><?=title();?></h1>
|
|
<h4><?=getNavigation();?></h4>
|
|
<h2>Medlemsliste</h2>
|
|
|
|
<?php
|
|
$medlemmer = array();
|
|
|
|
$perPage = $_GET['size'] ?? 20;
|
|
$pageStart = $_GET['page']?($_GET['page']-1)*$perPage:0;
|
|
|
|
// Åpne databasetilkobling som definert i forberedelser.php
|
|
$db = null;
|
|
try {
|
|
$db = getPdoConn();
|
|
}
|
|
catch (PDOException $e){
|
|
die("Fikk ikke koblet til: <br>\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: <br>\n".$e;
|
|
} finally {
|
|
$db = null;
|
|
}
|
|
|
|
?>
|
|
</div>
|
|
|
|
<div style="text-align: center; margin-bottom: 50px;">
|
|
<?php
|
|
// Koden er ganske lik den brukt i modul 4 oppgave 3.
|
|
if(!empty($medlemmer)){
|
|
?>
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Fornavn</th>
|
|
<th>Etternavn</th>
|
|
<th>Adresse</th>
|
|
<th>Postnummer/-sted</th>
|
|
<th>Mobilnummer</th>
|
|
<th>E-post</th>
|
|
<th>Fødselsdato</th>
|
|
<th>Kjønn</th>
|
|
<th>Interesser</th>
|
|
<th>Kursaktiviteter</th>
|
|
<th>Medlem siden</th>
|
|
<th>Kontigentstatus</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
foreach ($medlemmer as $medlemID => $medlem){
|
|
echo "<tr>\n";
|
|
echo " <td>".($medlemID+1)."</td>\n";
|
|
echo " <td>".($medlem->fornavn ?? '')."</td>\n";
|
|
echo " <td>".($medlem->etternavn ?? '')."</td>\n";
|
|
echo " <td>".($medlem->adresse1 ?? '');
|
|
if(!empty($medlem->adresse2)){ echo "<br>".$medlem->adresse2; } // Skriver inn adresselinje 2 hvis aktuelt
|
|
echo "</td>\n";
|
|
echo " <td>{$medlem->postnummer} {$medlem->poststed}</td>\n";
|
|
echo " <td>".($medlem->mobilnummer ?? '')."</td>\n";
|
|
echo " <td>".($medlem->epost ?? '')."</td>\n";
|
|
echo " <td>".($medlem->dob->format('d. M Y') ?? '')."</td>\n";
|
|
echo " <td>".($medlem->kjoenn ?? '')."</td>\n";
|
|
echo " <td>".($medlem->interesser ?? '')."</td>\n";
|
|
echo " <td>".($medlem->kursaktiviteter ?? '')."</td>\n";
|
|
echo " <td>".($medlem->medlem_siden->format('d. M Y') ?? '')."</td>\n";
|
|
echo " <td>".($medlem->kontigentstatus ?? '')."</td>\n";
|
|
echo "</tr>\n";
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
<?php } ?>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|