Hallo,
hier mal eine kurze Beschreibung meines Problems.
Beim ändern eines Einsatzes muss ich die Unterschiede zwischen der Eingabe $_POST und der Datenbank $db_fahrzeuge ermitteln dies mach ich mittels array_diff() in beide Richtungen und würde dann über foreach() die nötigen Einträge tätigen.
Würde jetzt gerne wissen ob es hierfür eine bessere/einfachere Möglichkeit gibt.
Hier mal der relevante ausschnitt meiner update Funktion:
[php]$sql = ‚SELECT fahrzeug_id FROM einsaetze_zuweisung_fahrzeuge WHERE einsatz_id = :einsatz_id ORDER BY fahrzeug_id ASC‘;
$stmt = $this->dbconn->prepare($sql);
$stmt->execute(array(‚:einsatz_id‘ => $einsatz_id));
$db_fahrzeuge = $stmt->fetchAll(PDO::FETCH_COLUMN);
$diff1 = array_diff($_POST[‚fahrzeuge‘], $db_fahrzeuge);
$diff2 = array_diff($db_fahrzeuge, $_POST[‚fahrzeuge‘]);
foreach ($diff1 as $id) {
echo ‚Fahrzeug ID(‘ . $id . ‚) muss in Datenbank eingetragen werden!
‘;
}
foreach ($diff2 as $id) {
echo ‚Fahrzeug ID(‘ . $id . ‚) muss aus Datenbank gelöscht werden!
‘;
}[/php]
LG Bodo