Hey Ihr,
Mal wieder ein Problem mit einem Stück Code, den ich eigentlich nur ergänzen soll. Es handelt sich hierbei um ein Online-Formular, bei dem Schüler eintragen können, welche Zeugnisse sie abgegeben haben. Haben sie es abgegeben, können sie eine Checkbox aktivieren und in einer SQL-Datenbank wird dieser Zustand gespeichert, beim erneuten Aufrufen des Formulars ist die Checkbox aktiviert und die Bezeichnung des Zeugnisses grün.
Das funktioniert soweit auch ... allerdings nicht beim Hinzufügen des neuen Zeugnisses mit der Array-Nummer 0. Ich dachte erst, dass er Probleme hat mit der "0", allerdings wird das Zeugnis "hinzugefügt", löschen kann ich es allerdings nicht mehr. Mit allen anderen Zeugnissen (sprich 1-5) funktioniert das jedoch problemlos.
Irgendwie führt er bei Array $checked[0] bzw. der damit verbundenen POST-Befehle das "if($_POST['entferne']) gar nicht erst durch.
Hier der Code:
Tabelle sieht so aus:
Zeugnis|Status
---------------
0 | 1
1 | 0
2 | 0
3 | 0
4 | 0
5 | 0
Wobei Status 0 für nicht abgegeben, 1 für abgegeben steht. Entschuldigt, dass der Quelltext nicht so prall kommentiert und formatiert ist. Wie gesagt: Ich soll den nur um ein "Zeugnis" erweitern :/
Mal wieder ein Problem mit einem Stück Code, den ich eigentlich nur ergänzen soll. Es handelt sich hierbei um ein Online-Formular, bei dem Schüler eintragen können, welche Zeugnisse sie abgegeben haben. Haben sie es abgegeben, können sie eine Checkbox aktivieren und in einer SQL-Datenbank wird dieser Zustand gespeichert, beim erneuten Aufrufen des Formulars ist die Checkbox aktiviert und die Bezeichnung des Zeugnisses grün.
Das funktioniert soweit auch ... allerdings nicht beim Hinzufügen des neuen Zeugnisses mit der Array-Nummer 0. Ich dachte erst, dass er Probleme hat mit der "0", allerdings wird das Zeugnis "hinzugefügt", löschen kann ich es allerdings nicht mehr. Mit allen anderen Zeugnissen (sprich 1-5) funktioniert das jedoch problemlos.
Irgendwie führt er bei Array $checked[0] bzw. der damit verbundenen POST-Befehle das "if($_POST['entferne']) gar nicht erst durch.
Hier der Code:
PHP-Code:
// anzeigen der zeugnisse mit editierfunktion
if($_GET['part'] == "zeugn"){
if($_POST['entferne']){ // WIRD BEI "ID 0" NICHT BEACHTET
if($_POST['entferne'] == "nein"){
$subsql = "UPDATE lpb_zeugnisse SET Status = '1' WHERE Personalnummer = '" . $_POST['pers_nr'] . "' AND Zeugnis = '" . $_POST['box'] . "'";
mysql_query($subsql);
echo "TUTUT";
}
else{
$subsql = "UPDATE lpb_zeugnisse SET Status = '0' WHERE Personalnummer = '" . $_POST['pers_nr'] . "' AND Zeugnis = '" . $_POST['entferne'] . "'";
mysql_query($subsql) OR die(mysql_error());
echo "TUTUT2";
}
}
echo "<tr class=termine_tr><td>";
echo "<table width=100% class=termine_zeug>";
echo "<tr>";
echo "<td class=termine_daten>";
for($i=0;$i<=5;$i++){
$sql = "INSERT INTO lpb_zeugnisse (Personalnummer, Zeugnis, Status) VALUES ('$pers_nr', '$i', '0');";
mysql_query($sql);
}
echo "<table width=100% class=zeugnisse_daten><tr><td width=20%>";
$sql = "SELECT Status FROM lpb_zeugnisse WHERE Personalnummer = '$pers_nr'";
$result = mysql_query($sql);
$k = 0;
while($row = mysql_fetch_assoc($result)){
if($row['Status'] == 1){
$eins[$k] = "#22bb22";
$checked[$k] = " checked";
}
else{
$eins[$k] = "#000000";
$checked[$k] = "";
}
$k++;
}
echo "<form class=bh_form action='lernprozessbegleitung.php?site=controlling&sub=org&part=zeugn&azubi=$pers_nr' method=post>";
echo "\n\n<input type=checkbox name='box' value='0' onchange='this.form.submit()'" . $checked[0] . ">";
echo "<input type=hidden name='pers_nr' value='$pers_nr'>";
// ID 0
if($checked[0] == " checked"){
echo "<input type=hidden name='entferne' value='0'>";
}
else{
echo "<input type=hidden name='entferne' value='nein'>";
}
echo "</form>";
echo "<font color='" . $eins[0] . "'>1. Ausbildungsjahr - Halbjahresinformation</font><br>";
echo "<form class=bh_form action='lernprozessbegleitung.php?site=controlling&sub=org&part=zeugn&azubi=$pers_nr' method=post>";
echo "\n\n<input type=checkbox name='box' value='1' onchange='this.form.submit()'" . $checked[1] . ">";
echo "<input type=hidden name='pers_nr' value='$pers_nr'>";
if($checked[1] == " checked"){
echo "<input type=hidden name='entferne' value='1'>";
}
else{
echo "<input type=hidden name='entferne' value='nein'>";
}
echo "</form>";
echo "<font color='" . $eins[1] . "'>1. Ausbildungsjahr - Abschlusszeugnis</font><br><br>";
echo "<form class=bh_form action='lernprozessbegleitung.php?site=controlling&sub=org&part=zeugn&azubi=$pers_nr' method=post>";
echo "\n\n<input type=checkbox name='box' value='2' onchange='this.form.submit()'" . $checked[2] . ">";
echo "<input type=hidden name='pers_nr' value='$pers_nr'>";
Zeugnis|Status
---------------
0 | 1
1 | 0
2 | 0
3 | 0
4 | 0
5 | 0
Wobei Status 0 für nicht abgegeben, 1 für abgegeben steht. Entschuldigt, dass der Quelltext nicht so prall kommentiert und formatiert ist. Wie gesagt: Ich soll den nur um ein "Zeugnis" erweitern :/

Kommentar