Hallo,
Ich arbeite aktuell an einem Programm, das mithilfe einer SQLite-Datenbank eine nicht vordefinierte Anzahl an Dropdownmenüs erstellt. (In der Datenbank sind x Tabellen mit Namen und es soll zu jeder ein Dropdownmenü erstellt werden). So weit so gut, nun will ich jedoch per Button-Click die Werte aller Menüs abfragen und in die jeweilige Tabelle eintragen.
Nachdem ich die Werte habe wird das eintragen in die Tabellen keine Schwierigkeiten mehr ergeben, das Problem liegt jedoch nun darin die einzelnen Werte herauszubekommen.
Ich habe schon ein wenig herumgesucht/ausprobiert bin aber noch auf kein funktionstüchtiges Ergebnis gekommen. Wenn mir also jemand helfen könnte wäre ich sehr dankbar.
Hier mein Code:
Ich arbeite aktuell an einem Programm, das mithilfe einer SQLite-Datenbank eine nicht vordefinierte Anzahl an Dropdownmenüs erstellt. (In der Datenbank sind x Tabellen mit Namen und es soll zu jeder ein Dropdownmenü erstellt werden). So weit so gut, nun will ich jedoch per Button-Click die Werte aller Menüs abfragen und in die jeweilige Tabelle eintragen.
Nachdem ich die Werte habe wird das eintragen in die Tabellen keine Schwierigkeiten mehr ergeben, das Problem liegt jedoch nun darin die einzelnen Werte herauszubekommen.
Ich habe schon ein wenig herumgesucht/ausprobiert bin aber noch auf kein funktionstüchtiges Ergebnis gekommen. Wenn mir also jemand helfen könnte wäre ich sehr dankbar.
Hier mein Code:
PHP:
<?php
$year = 2018; //Jahr
$elternsprechtag_db = "elternsprechtag$year.sqlite"; //Name der Datenbank
function createDB() { //erstellt Die Datenbank und füllt diese mit Uhrzeit-Tabellen
global $elternsprechtag_db;
//Erstellen der Datenbank
$dbe = new SQLite3($elternsprechtag_db, SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);
$db = new SQLite3("teacher.sqlite"); //Test-Tabelle mit Lehrer-Namen
$results = $db->query('SELECT "Name" FROM "allTeacher"'); //Test-Einlesung von Lehrer-Namen
while ($row = $results->fetchArray(SQLITE3_ASSOC)) {
$dbe->query('CREATE TABLE IF NOT EXISTS "'.$row['Name'].'" (
"Uhrzeiten" TEXT,
"Schüler" TEXT
)');
//Füllt die Tabellen mit den Uhrzeiten
$dbe->query('INSERT INTO "'.$row['Name'].'" ("Uhrzeiten")
VALUES ("16:00"),("16:10"),("16:20"),("16:30"),("16:40"),("16:50"),
("17:00"),("17:10"),("17:20"),("17:30"),("17:40"),("17:50"),
("18:00"),("18:10"),("18:20"),("18:30"),("18:40"),("18:50")');
}
$db->close();
$dbe->close();
}
function studentEnter() { //Erstellt eine Tabelle mit Lehrer-Namen, Auswahlfeldern für die Zeiten, sowie einer Suchfunktion
global $elternsprechtag_db;
$name;
//Erstellen der Datenbank
$db = new SQLite3($elternsprechtag_db, SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);
//Textfeld für die Suche in der Tabelle, sowie Tabellenkopf
$string = <<<EOT
<input type="text" id="myInput" onkeyup="tableSearch()" placeholder="Suche...">
<table id="teacherTable">
<tr> <th> Name </th> </tr>
EOT;
//Auslesen der Lehrer-Namen aus der Datenbank + Eintragung dieser in die Tabelle sowie das jeweilige Hinzufügen eines Auswahlfeldes für die Uhrzeiten
$results = $db->query('SELECT name FROM sqlite_sequence ORDER BY name');
while ($row = $results->fetchArray(SQLITE3_ASSOC)) {
$name = $row['name'];
$string .= "<tr><td>";
$string .= $name;
$string .= "</td><td>";
$string .= uhrzeitenAusgabe($name);
$string .= "</td></tr>";
}
$db->close();
//Funktion für Suchmöglichkeit in der Tabelle
$string .= <<<EOT
</table>
<button onclick="submit()">Bestätigen</button> //Button zur Übermittlung der Werte
<script>
function tableSearch() {
var input, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("teacherTable");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
EOT;
echo $string;
}
//Funktion zur Erstellung eines Auswahlfeldes mit angezeigten (übrigen) Uhrzeiten des jeweiligen Lehrers
function uhrzeitenAusgabe($input) {
global $elternsprechtag_db;
$string = '<select name="'.$input.'" onchange="get_value(this)" ><option selected value="empty">---</option>';
$db = new SQLite3($elternsprechtag_db);
$results = $db->query('SELECT Uhrzeiten FROM "'.$input.'" WHERE (Schüler IS NULL)');
while ($row = $results->fetchArray(SQLITE3_ASSOC)) {
$string .= '<option value="';
$string .= $row['Uhrzeiten'];
$string .= '">';
$string .= $row['Uhrzeiten'];
$string .= '</option>';
}
$string .= '</select>';
$db->close();
return $string;
}
function submit(){ //nach dem Button betätigt wurde werden die Werte aus den Menüs in die Datenbank übertragen
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Elternsprechtag-Projekt</title>
</head>
<body>
<?php studentEnter(); ?>
</body>
</html>