false, 'error' => 'Missing parameters')); exit; } // 1. Hole facture_id BEVOR wir löschen $sql = "SELECT fk_facture FROM ".MAIN_DB_PREFIX."facture_lines_manager"; $sql .= " WHERE rowid = ".(int)$textline_id; $resql = $db->query($sql); if (!$resql || $db->num_rows($resql) == 0) { echo json_encode(array('success' => false, 'error' => 'Textline not found')); exit; } $obj = $db->fetch_object($resql); $facture_id = $obj->fk_facture; // 2. DELETE ausführen $sql = "DELETE FROM ".MAIN_DB_PREFIX."facture_lines_manager"; $sql .= " WHERE rowid = ".(int)$textline_id; $sql .= " AND line_type = 'text'"; if (!$db->query($sql)) { echo json_encode(array('success' => false, 'error' => $db->lasterror())); exit; } // 3. Lücken schließen $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture_lines_manager WHERE fk_facture = ".(int)$facture_id." ORDER BY line_order"; $resql = $db->query($sql); $new_order = 1; while ($obj = $db->fetch_object($resql)) { $sql_upd = "UPDATE ".MAIN_DB_PREFIX."facture_lines_manager SET line_order = ".$new_order." WHERE rowid = ".(int)$obj->rowid; $db->query($sql_upd); $new_order++; } echo json_encode(array('success' => true));