Hallo,
ich habe vor eine Anwesenheitsliste in PHP mit SQL zu programmieren, und habe nun das Problem, dass ich die Daten aus dem Formular nicht mehr in die Datenbank zurück speichern kann, bzw. immer nur der letzte Eintrag in der Liste aktualisiert wird. Dies ist nur der Code für die admin Seite, das anzeigen funktioniert einwandfrei :D.
Danke schon mal im voraus für eure Hilfe, und hier nun mein Code:
PHP-Code:
<?php
$mysqlhost="localhost";
$mysqluser="###";
$mysqlpwd="";
$mysqldb="test";
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Keine Verbindung möglich!");
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht oeffnen.");
$query = "select * from anwesenheitsliste order by Name, Vorname";
$result = mysql_query($query) or die(mysql_error());
echo '<form name="eintragen" action="'.$PHP_SELF.'" method="post"><table border="0">';
echo '<tr><td width="100"><b>Name:</b></td>
<td width="100"><b>Vorname:</b></td>
<td width="80"><b>Anwesend:</b></td>
<td width="250"><b>Bemerkung:</b></td></tr>';
while($row = mysql_fetch_array($result))
{
echo '<tr><td><input name="ID" type="hidden" value="'.$row['ID'].'">'.$row['Name'].'</td>
<td>'.$row['Vorname'].'</td>
<td><input name="Anwesend" type="text" size="6" maxlength="4" value="'.$row['Anwesend'].'"></td>
<td><input name="Bemerkung" type="text" size="82" maxlength="50" value="'.$row['Bemerkung'].'"></td></tr>';
}
echo '</table>';
echo '<br><input type="submit" name="button" value="Speichern"></form>';
Hier kommt nun das Problem. Es wird lediglich immer nur der letzte Datensatz, wo oben angezeigt wird, zurück in die DB geschrieben, will aber dass alle zurück geschrieben werden.
PHP-Code:
if($button) {
if($Anwesend != '' && $Bemerkung != '') {
$query = "UPDATE anwesenheitsliste SET Anwesend = '".$Anwesend."' where id = '".$ID."' ";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo '<tr><td><input name="ID" type="hidden" value="'.$row['ID'].'">'.$row['Name'].'</td>
<td>'.$row['Vorname'].'</td>
<td><input name="Anwesend" type="text" size="6" maxlength="4" value="'.$row['Anwesend'].'"></td>
<td><input name="Bemerkung" type="text" size="82" maxlength="50" value="'.$row['Bemerkung'].'"></td></tr>';
}
echo "eingetragen";
} else {
echo '<h2 align="center">Bitte füllen Sie ALLE Felder aus!<br>
<a href="javascript:history.back()">Zurück zum Formular</a>';
}
}
?>