query("SELECT id, name, model_number FROM products ORDER BY name ASC"); $products = $stmt_products->fetchAll(); // Handle form submission if ($_SERVER["REQUEST_METHOD"] == "POST") { $submitted_products = $_POST['products'] ?? []; $file_path = null; if (isset($_FILES['file_upload']) && $_FILES['file_upload']['error'] == UPLOAD_ERR_OK) { $upload_dir = __DIR__ . '/uploads/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); } $file_name = uniqid('file_') . '_' . basename($_FILES['file_upload']['name']); $target_file = $upload_dir . $file_name; if (move_uploaded_file($_FILES['file_upload']['tmp_name'], $target_file)) { $file_path = 'uploads/' . $file_name; } else { $error_message = "Sorry, there was an error uploading your file."; } } if (empty($submitted_products)) { $error_message = "Please add at least one product and provide an issue description."; } else { try { $pdo->beginTransaction(); // Create the main service request $sql_request = "INSERT INTO service_requests (dealer_id, user_id, file_path) VALUES (?, ?, ?)"; $stmt_request = $pdo->prepare($sql_request); $stmt_request->execute([$dealer_id, $_SESSION['user_id'], $file_path]); $service_request_id = $pdo->lastInsertId(); // Add each product to the service_request_items table $sql_item = "INSERT INTO service_request_items (service_request_id, product_id, serial_number, issue_description) VALUES (?, ?, ?, ?)"; $stmt_item = $pdo->prepare($sql_item); foreach ($submitted_products as $product_data) { $product_id = trim($product_data['product_id']); $serial_number = trim($product_data['serial_number']); $issue_description = trim($product_data['issue_description']); if (!empty($product_id) && !empty($serial_number) && !empty($issue_description)) { $stmt_item->execute([$service_request_id, $product_id, $serial_number, $issue_description]); } } $pdo->commit(); $success_message = "Service request submitted successfully!"; } catch (PDOException $e) { $pdo->rollBack(); $error_message = "Failed to submit service request: " . $e->getMessage(); } } } // Fetch existing service requests for the dealer $stmt_requests = $pdo->prepare( "SELECT sr.id, sr.status, sr.created_at, GROUP_CONCAT(p.name SEPARATOR ', ') as product_names, GROUP_CONCAT(sri.serial_number SEPARATOR ', ') as serial_numbers FROM service_requests sr LEFT JOIN service_request_items sri ON sr.id = sri.service_request_id LEFT JOIN products p ON sri.product_id = p.id WHERE sr.dealer_id = ? GROUP BY sr.id ORDER BY sr.created_at DESC" ); $stmt_requests->execute([$dealer_id]); $service_requests = $stmt_requests->fetchAll(); } catch (PDOException $e) { $error_message = "Database error: " . $e->getMessage(); } ?>

Submit a Service Request

Your Service Requests

You have not submitted any service requests yet.

Request ID Products Serials Status Date Actions
View Details