Tach zusammen,
ich lasse aus der Datenbank eine Liste von Datensätzen in eine Tabelle laufen, gebe jedem Datensatz mit
<INPUT TYPE="CHECKBOX" name="freigabe[]" value="<? echo $daten["usr"]; ?>">
vorne ein Feld zum Ankreuzen mit, zusätzlich gibt es für jeden Datensatz ein Datum, das vorgegeben, aber änderbar ist:
<INPUT TYPE="TEXT" name="enddatumtag" size="2" value="<?echo substr($daten["letzte_aenderung"],6,2); ?>">.<INPUT TYPE="TEXT" name="enddatummonat" size="2" value="<?echo substr($daten["letzte_aenderung"],4,2); ?>">.<INPUT TYPE="TEXT" name="enddatumjahr" size="2" value="<?echo "0"; echo(substr($daten["letzte_aenderung"],2,2)+01); ?>">
wenn das Formular, das um die Tabelle gelegt ist, abgeschickt wird, sollen die jeweiligen Datensätze geändert in die DB geschrieben werden. Ich mache das mit:
if (isset($freigabe)){
$res = mysql_query("SELECT * FROM user WHERE freigegeben = 0 ORDER by usr",$db) or die(mysql_error()); ?
while($daten = @mysql_fetch_array($res, MYSQL_ASSOC)) {
if (!in_array($daten['usr'], $freigabe)) continue;
$enddatum = ('20'.$enddatumjahr.$enddatummonat.$enddatumtag.'001000');
mysql_query("UPDATE user SET freigegeben ='1', aktiv='1', enddatum='$enddatum' WHERE usr =$daten[usr]",$db);
unset($enddatum);
Jetzt das Problem 8>):
Das funktioniert, allerdings nur mit der letzten Zeile der Tabelle, wenn ich den letzten und vorletzen Datensatz freigebe, wird immer der Wert des letzten Datensatzes eingetragen...
Ich habe auch schonmal versucht, mit einem "foreach" das einzugrenzen, das für jeden der angekreuzten Datensätze, gemacht werden soll, das habe ich aber nicht hingekriegt...
Was kann ich tun?
Besten Dank
Maik