setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Überprüfen Sie, ob eine Datei hochgeladen wurde if (isset($_FILES["excel_file"]) && $_FILES["excel_file"]["error"] == UPLOAD_ERR_OK) { // Excel-Verarbeitungslogik $inputFileName = $_FILES["excel_file"]["tmp_name"]; if (!file_exists($inputFileName)) { die("Die hochgeladene Datei existiert nicht."); } try { require_once '../vendor/autoload.php'; // Include autoload file for PhpSpreadsheet $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName); $sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true); // Durchlaufen Sie die Zeilen der Excel-Datei und fügen Sie die Daten in die Datenbank ein foreach ($sheetData as $row) { // Debugging-Ausgabe var_dump($row); // Weitere Verarbeitung... $manufacturer = $row['A']; $set_name = $row['B']; $article_number = $row['C']; $ean_barcode = $row['D']; $part1 = $row['E']; $part1_ean = $row['F']; $part2 = $row['G']; $part2_ean = $row['H']; $part3 = $row['I']; $part3_ean = $row['J']; $part4 = $row['K']; $part4_ean = $row['L']; $quantity = isset($row['M']) ? $row['M'] : 0; // Setze quantity auf 0, wenn sie leer ist // Zählen Sie die Anzahl der Pakete $packageCount = 0; if (!empty($part1)) $packageCount++; if (!empty($part2)) $packageCount++; if (!empty($part3)) $packageCount++; if (!empty($part4)) $packageCount++; // Überprüfen, ob die Artikelnummer bereits vorhanden ist $stmt_check = $pdo->prepare("SELECT article_number FROM articles WHERE article_number = ?"); $stmt_check->execute([$article_number]); $existing_row = $stmt_check->fetch(); if (!$existing_row) { // Führen Sie die Datenbankoperationen durch, um die Daten einzufügen $stmt_insert = $pdo->prepare("INSERT INTO articles (manufacturer, set_name, article_number, ean_barcode, part1, part1_ean, part2, part2_ean, part3, part3_ean, part4, part4_ean, quantity) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt_insert->execute([$manufacturer, $set_name, $article_number, $ean_barcode, $part1, $part1_ean, $part2, $part2_ean, $part3, $part3_ean, $part4, $part4_ean, $quantity]); } else { echo "Die Artikelnummer $article_number existiert bereits in der Datenbank."; } } } catch (\Throwable $e) { // Fehlerbehandlung beim Lesen der Excel-Datei die("Fehler beim Lesen der Excel-Datei: " . $e->getMessage()); } } else { // Verarbeiten Sie die Daten aus dem Formular $manufacturer = $_POST["manufacturer"]; $set_name = $_POST["set_name"]; $article_number = $_POST["article_number"]; $ean_barcode = $_POST["ean_barcode"]; $part1 = $_POST["part1"]; $part1_ean = $_POST["part1_ean"]; $part2 = $_POST["part2"]; $part2_ean = $_POST["part2_ean"]; $part3 = $_POST["part3"]; $part3_ean = $_POST["part3_ean"]; $part4 = $_POST["part4"]; $part4_ean = $_POST["part4_ean"]; $quantity = isset($_POST["quantity"]) ? $_POST["quantity"] : 0; // Setze quantity auf 0, wenn sie leer ist // Zählen Sie die Anzahl der Pakete $packageCount = 0; if (!empty($part1)) $packageCount++; if (!empty($part2)) $packageCount++; if (!empty($part3)) $packageCount++; if (!empty($part4)) $packageCount++; // Überprüfen, ob die Artikelnummer bereits vorhanden ist $stmt_check = $pdo->prepare("SELECT article_number FROM articles WHERE article_number = ?"); $stmt_check->execute([$article_number]); $existing_row = $stmt_check->fetch(); if (!$existing_row) { // Führen Sie die Datenbankoperationen durch, um die Daten einzufügen $stmt_insert = $pdo->prepare("INSERT INTO articles (manufacturer, set_name, article_number, ean_barcode, part1, part1_ean, part2, part2_ean, part3, part3_ean, part4, part4_ean, quantity) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt_insert->execute([$manufacturer, $set_name, $article_number, $ean_barcode, $part1, $part1_ean, $part2, $part2_ean, $part3, $part3_ean, $part4, $part4_ean, $quantity]); } else { echo "Die Artikelnummer $article_number existiert bereits in der Datenbank."; } } // Weiterleiten oder eine Bestätigungsmeldung anzeigen header("Location: ../public/admin.php"); exit(); } catch (PDOException $e) { // Fehler bei der Datenbankverbindung oder bei der Datenbankoperation die("Database error: " . $e->getMessage()); } catch (\PhpOffice\PhpSpreadsheet\Reader\Exception $e) { // Fehler beim Lesen der Excel-Datei die("Excel error: " . $e->getMessage()); } } ?>