Advertisement
Guest User

Untitled

a guest
Apr 16th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.80 KB | None | 0 0
  1. <?php
  2.     session_start();
  3. ?>
  4.  
  5. <!DOCTYPE html>
  6. <html>
  7.     <head>
  8.         <meta charset="UTF-8">
  9.         <title>Praktikums-DB 2018</title>
  10.         <link rel="stylesheet" type="text/css" href="style.css">
  11.     </head>
  12.  
  13.     <?php
  14.         if(!isset($_SESSION['userid'])){
  15.             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>";
  16.             die;
  17.         }
  18.  
  19.         if (isset($_GET["table"])) {
  20.             $curTable = $_GET["table"];
  21.         }
  22.         else {
  23.             $curTable = "tbl_praktikum";
  24.         }
  25.     ?>
  26.  
  27.     <body>
  28.         <p align=center>
  29.         <?php
  30.             //MySQL Daten
  31.             $servername = "localhost";
  32.             $username = "root";
  33.             $password = "pizzataxi1";
  34.             $db = "praktikumDB2018";
  35.             // Arrays fuer Spaltennamen auf der Website
  36.             $tbl_betrieb = array("ID","Name","Adresse","Land","E-Mail","Telefon","Website","Anforderungen erfüllt");
  37.             $tbl_betreuer = array("ID","Name","Vorname","Geschlecht","E-Mail","Telefon","Betrieb-ID","Betrieb-Name");
  38.             $tbl_klasse = array("Klasse");
  39.             $tbl_schueler = array("ID","Name","Vorname","Geschlecht","Geburtsdatum","Klasse");
  40.             $tbl_lehrer = array("Lehrer-Kürzel","Name","Vorname","Geschlecht","E-Mail");
  41.             $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");
  42.             $tbl_wochenbericht = array("Praktikum-ID","Schüler","Lehrer","Datum","Note");
  43.             // Arrays fuer Column Names in MySQL
  44.             $tbl_betrieb_col = array("pk_betrieb_ID","betrieb_name","betrieb_adresse","betrieb_land","betrieb_email","betrieb_telefon","betrieb_website","anforderungen_erfuellt");
  45.             $tbl_betreuer_col = array("pk_betreuer_ID","betreuer_name","betreuer_vorname","betreuer_geschlecht","betreuer_email","betreuer_telefon","fk_betrieb","betrieb_name");
  46.             $tbl_klasse_col = array("pk_klassenname");
  47.             $tbl_schueler_col = array("pk_schueler_ID","schueler_name","schueler_vorname","schueler_geschlecht","schueler_gebDatum","fk_klasse");
  48.             $tbl_lehrer_col = array("pk_lehrer_kuerzel","lehrer_name","lehrer_vorname","lehrer_geschlecht","lehrer_email");
  49.             $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");
  50.             $tbl_wochenbericht_col = array("fk_praktikum","schueler_name","lehrer_name","bericht_datum","note");
  51.             // Verbindung herstellen und testen
  52.             $conn = new mysqli($servername, $username, $password, $db);
  53.             if ($conn->connect_error) {
  54.                 die("Connection failed: " . $conn->connect_error) . "<br>";
  55.             }
  56.             // Setze Headline und Parameter für SQL-Query und Ausgabe
  57.             if($curTable == "tbl_praktikum"){
  58.                 $h1 = "<h1>Tabelle - Praktikum</h1>";
  59.                 $table = &$tbl_praktikum;
  60.                 $table_col = &$tbl_praktikum_col;
  61.                 $join = " INNER JOIN (tbl_betreuer INNER JOIN tbl_betrieb ON tbl_betreuer.fk_betrieb = tbl_betrieb.pk_betrieb_ID)
  62.                                     ON tbl_praktikum.fk_betreuer = tbl_betreuer.pk_betreuer_ID
  63.                                     INNER JOIN tbl_schueler ON tbl_praktikum.fk_schueler = tbl_schueler.pk_schueler_ID
  64.                                     INNER JOIN tbl_lehrer ON tbl_praktikum.fk_lehrer = tbl_lehrer.pk_lehrer_kuerzel";
  65.             }
  66.             elseif($curTable == "tbl_betrieb"){
  67.                 $h1 = "<h1>Tabelle - Betrieb</h1>";
  68.                 $table = &$tbl_betrieb;
  69.                 $table_col = &$tbl_betrieb_col;
  70.             }
  71.             elseif($curTable == "tbl_betreuer"){
  72.                 $h1 = "<h1>Tabelle - Betreuer</h1>";
  73.                 $table = &$tbl_betreuer;
  74.                 $table_col = &$tbl_betreuer_col;
  75.                 $join =" INNER JOIN tbl_betrieb ON tbl_betreuer.fk_betrieb = tbl_betrieb.pk_betrieb_ID";
  76.             }
  77.             elseif($curTable == "tbl_klasse"){
  78.                 $h1 = "<h1>Tabelle - Klasse</h1>";
  79.                 $table = &$tbl_klasse;
  80.                 $table_col = &$tbl_klasse_col;
  81.             }
  82.             elseif($curTable == "tbl_schueler"){
  83.                 $h1 = "<h1>Tabelle - Schüler</h1>";
  84.                 $table = &$tbl_schueler;
  85.                 $table_col = &$tbl_schueler_col;
  86.             }
  87.             elseif($curTable == "tbl_lehrer"){
  88.                 $h1 = "<h1>Tabelle - Lehrer</h1>";
  89.                 $table = &$tbl_lehrer;
  90.                 $table_col = &$tbl_lehrer_col;
  91.             }
  92.             elseif($curTable == "tbl_wochenbericht"){
  93.                 $h1 = "<h1>Tabelle - Berichte</h1>";
  94.                 $table = &$tbl_wochenbericht;
  95.                 $table_col = &$tbl_wochenbericht_col;
  96.                 $join = " INNER JOIN (tbl_praktikum INNER JOIN tbl_schueler ON tbl_schueler.pk_schueler_ID = tbl_praktikum.fk_schueler
  97.                                     INNER JOIN tbl_lehrer ON tbl_lehrer.pk_lehrer_kuerzel = tbl_praktikum.fk_lehrer)
  98.                                     ON tbl_praktikum.pk_praktikum_ID = tbl_wochenbericht.fk_praktikum";
  99.             }
  100.         ?>
  101.             <!-- Erstelle NavBar -->
  102.               <ul>
  103.                 <li><a href="?table=tbl_praktikum">Praktikum</a></li>
  104.                 <li><a href="?table=tbl_schueler">Schüler</a></li>
  105.                 <li><a href="?table=tbl_lehrer">Lehrer</a></li>
  106.                 <li><a href="?table=tbl_klasse">Klasse</a></li>
  107.                 <li><a href="?table=tbl_betrieb">Betrieb</a></li>
  108.                 <li><a href="?table=tbl_betreuer">Betreuer</a></li>
  109.                 <li><a href="?table=tbl_wochenbericht">Berichte</a></li>
  110.                     <li><a href="logout.php">Ausloggen</a></li>
  111.               </ul>
  112.  
  113.         <?php
  114.             //SQL-Query erstellen und JOINs beachten
  115.             $sql = "SELECT ";
  116.             foreach ($table_col as $column){
  117.                 $sql .=$column.", ";
  118.             }
  119.             $sql = substr($sql, 0, -2);
  120.             $sql .=" FROM ".$curTable;
  121.             if(isset($join)){
  122.                 $sql .= $join;
  123.             }
  124.             $sql .= " ORDER BY ".$table_col[0].";";
  125.  
  126.             $result = $conn->query($sql);
  127.             echo $conn->error;
  128.             if ($result->num_rows > 0) {
  129.                 // Ausgabe der Daten und Suchfeld wird eingeblendet
  130.                 echo "<div class=\"sad\";>$h1<form action=\"?table=$curTable\" method=\"POST\"><input type=\"text\" name=\"query\" placeholder=\"Suche\"><button>Suchen</button></form><table><tr>";
  131.                 for($i = 0; $i < count($table); $i++) {
  132.                     echo "<th>$table[$i]</th>";
  133.                 }
  134.                 echo "</tr>";
  135.                 while($row = $result->fetch_assoc()) {
  136.                     $tableRowOut = "<tr>";
  137.                     $allowOut = FALSE;
  138.                     for($i = 0; $i < count($table_col); $i++) {
  139.                         if(isset($_POST['query']) && !$allowOut){
  140.                             if(strpos(strtolower($row[$table_col[$i]]), strtolower($_POST['query'])) !== false){
  141.                                 $allowOut = TRUE;
  142.                             }
  143.                         } else {
  144.                             $allowOut = TRUE;
  145.                         }
  146.                         //Umwandlung von 0 und 1 in der Spalte "anforderungen_erfuellt" zu TRUE und FALSE.
  147.                         if($table_col[$i]=="anforderungen_erfuellt"){
  148.                             if($row[$table_col[$i]]!=0){
  149.                                 $tableRowOut .= '<td>TRUE</td>';
  150.                             } else {
  151.                                 $tableRowOut .= '<td>FALSE</td>';
  152.                             }
  153.                             //Überspringt Anhängen an Output-Variable, da bereits der Wert angehangen wurde.
  154.                             continue;
  155.                         }
  156.                         //Anhängen eines Feldes an Output-Variable
  157.                         $tableRowOut .= '<td>'.$row[$table_col[$i]].'</td>';
  158.                     }
  159.                     if($allowOut){
  160.                         echo $tableRowOut."</tr>";
  161.                     }
  162.                 }
  163.                 echo "</table>";
  164.             } else {
  165.                 echo "0 results";
  166.             }
  167.             $conn->close();
  168.         ?>
  169.         </p>
  170.     </body>
  171. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement