Hi,
ich will einen dynamischen Stundenplan für 3 Klassen erstellen, der sich wöchentlich ändert, deswegen dynamisch....
Hier mal ein Überblick über mein Datenmodell.
Ich hab bereits eine Adminoberfläche für Lehrer und Fächer, wo ich diese hinzufügen, ändern und löschen kann.
Für die Tabelle baptime_stundenverteilung, hab ich schon versucht ein Formular mit Dropwdowns vorzubereiten. Anschließend möchte ich die Daten in die Datenbank schreiben. Ich weiß, dass ich dazu wahrscheinlich ein Array brauche. Denn jeder einzelne Eintrag muss eindeutig identifiziert sein. Ich hab das schon versucht, aber er macht keine Einträge, muss ich da noch eine foreach-Schleife einfügen für das Array? Bitte helft mir weiter! Hier mal die Oberfläche wie es ausschaut und anschließend der Code.
Formular
std.inc.php
Insert-Befehl(der untere war zum Testen)
Wenn ich bei std_add.inc.php oben schreibe :
echo '<pre>'.print_r($_POST,1).'</pre>';
gibt er mir folgendes aus(die ersten paar Dropdowns hab ich hier verändert,sollte also funktionieren...
Könnte mir jemand auf die Sprünge helfen, die Eingaben in die Datenbank zu schreiben? Am besten so, dass anschließend dann nicht die LehrerID und FachID, sondern der Name und die Bezeichnung angezeigt werden...
Vielen Dank im Voraus
Coldstorm
ich will einen dynamischen Stundenplan für 3 Klassen erstellen, der sich wöchentlich ändert, deswegen dynamisch....
Hier mal ein Überblick über mein Datenmodell.
Ich hab bereits eine Adminoberfläche für Lehrer und Fächer, wo ich diese hinzufügen, ändern und löschen kann.
Für die Tabelle baptime_stundenverteilung, hab ich schon versucht ein Formular mit Dropwdowns vorzubereiten. Anschließend möchte ich die Daten in die Datenbank schreiben. Ich weiß, dass ich dazu wahrscheinlich ein Array brauche. Denn jeder einzelne Eintrag muss eindeutig identifiziert sein. Ich hab das schon versucht, aber er macht keine Einträge, muss ich da noch eine foreach-Schleife einfügen für das Array? Bitte helft mir weiter! Hier mal die Oberfläche wie es ausschaut und anschließend der Code.
Formular
std.inc.php
PHP:
.<br>
<h2>Stundenplan für</h2>
<?php
$col1 = "#ffffff" ;
$col2 = "#c8121e";
echo "<table border=\"0\">";
?>
<form action = "./?p=std_add" method = "post">
<colgroup>
<col width="165"><col width="165"><col width="165"><col width="165"><col width="165">
</colgroup>
<tr bgcolor="#c8121e">
<th>Montag</th><th>Dienstag</th><th>Mittwoch</th><th>Donnerstag</th><th>Freitag</th>
</tr>
<?php
for ($j=1; $j<=9; $j++){
$color = ($color == $col1) ? $col2 : $col1;
echo"<tr bgcolor=\"$color\">";
for ($i=1; $i<=5; $i++){
echo"<td>\n";
$sql = 'SELECT LehrerID, Name FROM baptime_lehrer'; $query = mysql_query($sql);
echo "<p><select size='1' name=LehrerID[]'>";
while ($ds = mysql_fetch_object($query)){
echo '<option value="'.$ds->LehrerID.'">'.$ds->Name.'</option>';}
$sql = 'SELECT FachID, Bezeichnung FROM baptime_fach'; $query = mysql_query($sql);
echo "<p><select size='1' name='FachID[]'>";
while ($ds = mysql_fetch_object($query)){
echo '<option value="'.$ds->FachID.'">'.$ds->Bezeichnung.'</option>'; }
echo"</td>\n";
}
echo"</tr>\n";
}
echo "</table>";
?>
<input type="submit" name="Submit" value="Speichern"><br><br>
</form>
Insert-Befehl(der untere war zum Testen)
PHP:
<?
include("../includes/db.inc.php");//Verbindung zur Datenbank herstellen
include("../includes/functions.inc.php");
$LehrerID = $_POST['LehrerID'][$i];
$FachID = $_POST['FachID'][$i];
$Stunde = $_POST['Stunde'];
$Tag = $_POST['Tag'];
$gruppe = $_POST['gruppe'];
if (empty($LehrerID) || empty($FachID)) {//Ist Feld leer?
echo "Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{
mysql_query("INSERT INTO baptime_stundenverteilung (LehrerID, FachID, Stunde, Tag, gruppe) VALUES('$LehrerID[$i]', '$FachID[$i]', $Stunde, '$Tag', '$gruppe')");
echo "$LehrerID[20]";
echo "<br>";
echo "$FachID[1][20]";
echo "<br>";
echo "$Stunde";
echo "<br>";
echo "$Tag";
echo "<br>";
echo "$gruppe";
echo "Stunde wurde eingetragen";
}
?>
Wenn ich bei std_add.inc.php oben schreibe :
echo '<pre>'.print_r($_POST,1).'</pre>';
gibt er mir folgendes aus(die ersten paar Dropdowns hab ich hier verändert,sollte also funktionieren...
PHP:
Array
(
[LehrerID] => Array
(
[0] => 3
[1] => 4
[2] => 1
[3] => 1
[4] => 1
[5] => 1
[6] => 1
[7] => 1
[8] => 1
[9] => 1
[10] => 1
[11] => 1
[12] => 1
[13] => 1
[14] => 1
[15] => 1
[16] => 1
[17] => 1
[18] => 1
[19] => 1
[20] => 1
[21] => 1
[22] => 1
[23] => 1
[24] => 1
[25] => 1
[26] => 1
[27] => 1
[28] => 1
[29] => 1
[30] => 1
[31] => 1
[32] => 1
[33] => 1
[34] => 1
[35] => 1
[36] => 1
[37] => 1
[38] => 1
[39] => 1
[40] => 1
[41] => 1
[42] => 1
[43] => 1
[44] => 1
)
[FachID] => Array
(
[0] => 7
[1] => 10
[2] => 1
[3] => 1
[4] => 1
[5] => 1
[6] => 1
[7] => 1
[8] => 1
[9] => 1
[10] => 1
[11] => 1
[12] => 1
[13] => 1
[14] => 1
[15] => 1
[16] => 1
[17] => 1
[18] => 1
[19] => 1
[20] => 1
[21] => 1
[22] => 1
[23] => 1
[24] => 1
[25] => 1
[26] => 1
[27] => 1
[28] => 1
[29] => 1
[30] => 1
[31] => 1
[32] => 1
[33] => 1
[34] => 1
[35] => 1
[36] => 1
[37] => 1
[38] => 1
[39] => 1
[40] => 1
[41] => 1
[42] => 1
[43] => 1
[44] => 1
)
[Submit] => Speichern
)
Bitte gehen Sie zurück und füllen Sie alle Felder aus!
Könnte mir jemand auf die Sprünge helfen, die Eingaben in die Datenbank zu schreiben? Am besten so, dass anschließend dann nicht die LehrerID und FachID, sondern der Name und die Bezeichnung angezeigt werden...
Vielen Dank im Voraus
Coldstorm