Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Praktikums-DB 2018</title>
- <link rel="stylesheet" type="text/css" href="style.css">
- </head>
- <?php
- if(!isset($_SESSION['userid'])){
- echo "<div class=\"sad\"><p style=\"text-align=center;\">Sie müssen eingeloggt sein. Zurück zur <a href=\"index.php\">Anmeldeseite</a></p><div>";
- die;
- }
- if (isset($_GET["table"])) {
- $curTable = $_GET["table"];
- }
- else {
- $curTable = "tbl_praktikum";
- }
- ?>
- <body>
- <p align=center>
- <?php
- //MySQL Daten
- $servername = "localhost";
- $username = "root";
- $password = "pizzataxi1";
- $db = "praktikumDB2018";
- // Arrays fuer Spaltennamen auf der Website
- $tbl_betrieb = array("ID","Name","Adresse","Land","E-Mail","Telefon","Website","Anforderungen erfüllt");
- $tbl_betreuer = array("ID","Name","Vorname","Geschlecht","E-Mail","Telefon","Betrieb-ID","Betrieb-Name");
- $tbl_klasse = array("Klasse");
- $tbl_schueler = array("ID","Name","Vorname","Geschlecht","Geburtsdatum","Klasse");
- $tbl_lehrer = array("Lehrer-Kürzel","Name","Vorname","Geschlecht","E-Mail");
- $tbl_praktikum = array("ID","Schüler-ID","Schüler-Name","Lehrer-ID","Lehrer-Name","Betreuer-ID","Betreuer-Name","Betrieb-Name","Startdatum","Enddatum","Präsentations-Note","Praktikums-Note");
- $tbl_wochenbericht = array("Praktikum-ID","Schüler","Lehrer","Datum","Note");
- // Arrays fuer Column Names in MySQL
- $tbl_betrieb_col = array("pk_betrieb_ID","betrieb_name","betrieb_adresse","betrieb_land","betrieb_email","betrieb_telefon","betrieb_website","anforderungen_erfuellt");
- $tbl_betreuer_col = array("pk_betreuer_ID","betreuer_name","betreuer_vorname","betreuer_geschlecht","betreuer_email","betreuer_telefon","fk_betrieb","betrieb_name");
- $tbl_klasse_col = array("pk_klassenname");
- $tbl_schueler_col = array("pk_schueler_ID","schueler_name","schueler_vorname","schueler_geschlecht","schueler_gebDatum","fk_klasse");
- $tbl_lehrer_col = array("pk_lehrer_kuerzel","lehrer_name","lehrer_vorname","lehrer_geschlecht","lehrer_email");
- $tbl_praktikum_col = array("pk_praktikum_ID","fk_schueler","schueler_name","fk_lehrer","lehrer_name","fk_betreuer","betreuer_name","betrieb_name","praktikum_start","praktikum_ende","praesentation_note","praktikum_note");
- $tbl_wochenbericht_col = array("fk_praktikum","schueler_name","lehrer_name","bericht_datum","note");
- // Verbindung herstellen und testen
- $conn = new mysqli($servername, $username, $password, $db);
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error) . "<br>";
- }
- // Setze Headline und Parameter für SQL-Query und Ausgabe
- if($curTable == "tbl_praktikum"){
- $h1 = "<h1>Tabelle - Praktikum</h1>";
- $table = &$tbl_praktikum;
- $table_col = &$tbl_praktikum_col;
- $join = " INNER JOIN (tbl_betreuer INNER JOIN tbl_betrieb ON tbl_betreuer.fk_betrieb = tbl_betrieb.pk_betrieb_ID)
- ON tbl_praktikum.fk_betreuer = tbl_betreuer.pk_betreuer_ID
- INNER JOIN tbl_schueler ON tbl_praktikum.fk_schueler = tbl_schueler.pk_schueler_ID
- INNER JOIN tbl_lehrer ON tbl_praktikum.fk_lehrer = tbl_lehrer.pk_lehrer_kuerzel";
- }
- elseif($curTable == "tbl_betrieb"){
- $h1 = "<h1>Tabelle - Betrieb</h1>";
- $table = &$tbl_betrieb;
- $table_col = &$tbl_betrieb_col;
- }
- elseif($curTable == "tbl_betreuer"){
- $h1 = "<h1>Tabelle - Betreuer</h1>";
- $table = &$tbl_betreuer;
- $table_col = &$tbl_betreuer_col;
- $join =" INNER JOIN tbl_betrieb ON tbl_betreuer.fk_betrieb = tbl_betrieb.pk_betrieb_ID";
- }
- elseif($curTable == "tbl_klasse"){
- $h1 = "<h1>Tabelle - Klasse</h1>";
- $table = &$tbl_klasse;
- $table_col = &$tbl_klasse_col;
- }
- elseif($curTable == "tbl_schueler"){
- $h1 = "<h1>Tabelle - Schüler</h1>";
- $table = &$tbl_schueler;
- $table_col = &$tbl_schueler_col;
- }
- elseif($curTable == "tbl_lehrer"){
- $h1 = "<h1>Tabelle - Lehrer</h1>";
- $table = &$tbl_lehrer;
- $table_col = &$tbl_lehrer_col;
- }
- elseif($curTable == "tbl_wochenbericht"){
- $h1 = "<h1>Tabelle - Berichte</h1>";
- $table = &$tbl_wochenbericht;
- $table_col = &$tbl_wochenbericht_col;
- $join = " INNER JOIN (tbl_praktikum INNER JOIN tbl_schueler ON tbl_schueler.pk_schueler_ID = tbl_praktikum.fk_schueler
- INNER JOIN tbl_lehrer ON tbl_lehrer.pk_lehrer_kuerzel = tbl_praktikum.fk_lehrer)
- ON tbl_praktikum.pk_praktikum_ID = tbl_wochenbericht.fk_praktikum";
- }
- ?>
- <!-- Erstelle NavBar -->
- <ul>
- <li><a href="?table=tbl_praktikum">Praktikum</a></li>
- <li><a href="?table=tbl_schueler">Schüler</a></li>
- <li><a href="?table=tbl_lehrer">Lehrer</a></li>
- <li><a href="?table=tbl_klasse">Klasse</a></li>
- <li><a href="?table=tbl_betrieb">Betrieb</a></li>
- <li><a href="?table=tbl_betreuer">Betreuer</a></li>
- <li><a href="?table=tbl_wochenbericht">Berichte</a></li>
- <li><a href="logout.php">Ausloggen</a></li>
- </ul>
- <?php
- //SQL-Query erstellen und JOINs beachten
- $sql = "SELECT ";
- foreach ($table_col as $column){
- $sql .=$column.", ";
- }
- $sql = substr($sql, 0, -2);
- $sql .=" FROM ".$curTable;
- if(isset($join)){
- $sql .= $join;
- }
- $sql .= " ORDER BY ".$table_col[0].";";
- $result = $conn->query($sql);
- echo $conn->error;
- if ($result->num_rows > 0) {
- // Ausgabe der Daten und Suchfeld wird eingeblendet
- echo "<div class=\"sad\";>$h1<form action=\"?table=$curTable\" method=\"POST\"><input type=\"text\" name=\"query\" placeholder=\"Suche\"><button>Suchen</button></form><table><tr>";
- for($i = 0; $i < count($table); $i++) {
- echo "<th>$table[$i]</th>";
- }
- echo "</tr>";
- while($row = $result->fetch_assoc()) {
- $tableRowOut = "<tr>";
- $allowOut = FALSE;
- for($i = 0; $i < count($table_col); $i++) {
- if(isset($_POST['query']) && !$allowOut){
- if(strpos(strtolower($row[$table_col[$i]]), strtolower($_POST['query'])) !== false){
- $allowOut = TRUE;
- }
- } else {
- $allowOut = TRUE;
- }
- //Umwandlung von 0 und 1 in der Spalte "anforderungen_erfuellt" zu TRUE und FALSE.
- if($table_col[$i]=="anforderungen_erfuellt"){
- if($row[$table_col[$i]]!=0){
- $tableRowOut .= '<td>TRUE</td>';
- } else {
- $tableRowOut .= '<td>FALSE</td>';
- }
- //Überspringt Anhängen an Output-Variable, da bereits der Wert angehangen wurde.
- continue;
- }
- //Anhängen eines Feldes an Output-Variable
- $tableRowOut .= '<td>'.$row[$table_col[$i]].'</td>';
- }
- if($allowOut){
- echo $tableRowOut."</tr>";
- }
- }
- echo "</table>";
- } else {
- echo "0 results";
- }
- $conn->close();
- ?>
- </p>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement