Hello,
Um durch ein Array mit unbekannten Schlüsselwerte zu laufen nimmt man foreach ($array as $key => $value)
Um es genau zu nehmen, sollten die Schlüsselwerte aber nicht unbekannt sein!
Mein Beispiel nimmt allerdings auch keine Rücksicht darauf.
Für eine Multiuser-Umgebung würde man so vorgehen, dass man eine Liste der zu löschenden Datensätze in der Session abspeichert. Die Liste hat zu enthalten
- ID-list in der Liste
- ID-data des Datensatzes in der Tabelle der DB
- lastupdate letztes Veränderungsdatum des Datensatzes
- angezeigter Wert in der Liste
Wird nun der Löschauftrag gegeben z.B. mit dem Formular aus meinem Beispiel, dann muss man in der Löschfunktion prüfen
Enthält die POST-Liste IDs, die nicht in der Session in ID-list vorhanden sind?
--> sofort abrechen! Löschauftrag passt nicht zur letzten Anforderung
alle anderen kann man dann mit der Schleife über $_POST['chk']['delete'] oder wie man das n
Steuerelemet nennt abarbeiten und _jeden_einzel_ bei der DB zur Löschung anfordern
DELETE from $tabelle where ID
= $id-data and LASTUPDATE
= $lastupdate
Das verhindert, dass Datensätze gelöscht werden können, die zwischenzeitlich verändert wurden
LASTUPDATE
sollte die erste Timestamp-Spalte in der MySQL-Tabelle sein, damit sie bei jeder Veränderung automatisch geführt wird. Bei anderen DBMS muss man vergleichbare Maßnahmen treffen
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
