Guten Tag
Das Klonen über ein "Affenformular" funktioniert bestens, wenn (aufgrund von if-Abfragen) keine Fehlermeldung ausgegeben wird und der neue geklonte Datensatz im ersten Durchgang gespeichert wird.
Aber erfolgt ein zweiter oder mehrere Durchgänge wegen Fehlern, die korrigiert werden müssen, erhalte ich den geklonten Datensatz gemäss dem ersten Durchgang, die Korrekturen in den späteren Durchgängen werden leider wieder auf den ursprünglichen Datensatz gespeichert/geupdatet.
Nachfolgend der Code, mit der Bitte, was muss ich ändern? Habe auch mit "lastInsertId" probiert, aber leider ohne Erfolg.
Das Klonen über ein "Affenformular" funktioniert bestens, wenn (aufgrund von if-Abfragen) keine Fehlermeldung ausgegeben wird und der neue geklonte Datensatz im ersten Durchgang gespeichert wird.
Aber erfolgt ein zweiter oder mehrere Durchgänge wegen Fehlern, die korrigiert werden müssen, erhalte ich den geklonten Datensatz gemäss dem ersten Durchgang, die Korrekturen in den späteren Durchgängen werden leider wieder auf den ursprünglichen Datensatz gespeichert/geupdatet.
Nachfolgend der Code, mit der Bitte, was muss ich ändern? Habe auch mit "lastInsertId" probiert, aber leider ohne Erfolg.
PHP-Code:
if ($schleife == 1) {
// Neuer Datensatz, mit neuer id (id-Angabe bei execute mit NULL)
$stmt = $pdo->prepare('INSERT INTO accounts (id, title, vorname, nachname, str, snr, plz, ort, email, phone1) VALUES (?,?,?,?,?,?,?,?,?,?)');
$stmt->execute([NULL, $title, $vorname, $nachname, $str, $snr, $plz, $ort, $email, $phone1]);
}
if ($schleife > 1) {
// Update vom neuen Datensatz
$stmt = $pdo->prepare('UPDATE accounts SET id = ?, title = ?, vorname = ?, nachname = ?, str = ?, snr = ?, plz = ?, ort = ?, email = ?, phone1 = ? WHERE id = ?');
$stmt->execute([$id, $title, $vorname, $nachname, $str, $snr, $plz, $ort, $email, $phone1, $_GET['id']]);
}
// Datensatz abrufen (Ursprünglichen oder mutierten / Schleife 1 oder > 1)
// Wie kann ich beeinflussen, dass im 1. Durchgang das Original aufgerufen wird, in den weiteren Durchgängen der geklonte Datensatz?
$stmt = $pdo->prepare('SELECT id, title, vorname, nachname, str, snr, plz, ort, email, phone1 FROM accounts WHERE id = ?');
$stmt->execute([$_GET['id']]);
$account = $stmt->fetch(PDO::FETCH_ASSOC);
Kommentar