<?php
include 'verifica_login.php';
include 'conexao.php';
$conn = conectar_banco();

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: pesquisas.php?msg=error&detalhe=' . urlencode('Método inválido para exclusão da pesquisa'));
    exit;
}

// Validar ID
if (!isset($_POST['id']) || empty($_POST['id']) || !is_numeric($_POST['id'])) {
    header('Location: pesquisas.php?msg=error&detalhe=' . urlencode('ID de pesquisa inválido'));
    exit;
}

$id = intval($_POST['id']);

try {
    // Iniciar transação
    $conn->begin_transaction();
    
    // Buscar dados da pesquisa para confirmar que existe
    $stmt = $conn->prepare("SELECT p.nome FROM pesquisas p WHERE p.id = ?");
    $stmt->bind_param("i", $id);
    $stmt->execute();
    $result = $stmt->get_result();
    
    if ($result->num_rows === 0) {
        throw new Exception("Pesquisa não encontrada");
    }
    
    $pesquisa = $result->fetch_assoc();
    $nome_pesquisa = trim((string)($pesquisa['nome'] ?? ''));
    
    // Deletar registros relacionados em pesquisa_empresa
    $stmt = $conn->prepare("DELETE FROM pesquisa_empresa WHERE id_pesquisa_fk = ?");
    $stmt->bind_param("i", $id);
    if (!$stmt->execute()) {
        throw new Exception("Erro ao deletar dados das empresas");
    }
    
    // Deletar a pesquisa
    $stmt = $conn->prepare("DELETE FROM pesquisas WHERE id = ?");
    $stmt->bind_param("i", $id);
    if (!$stmt->execute()) {
        throw new Exception("Erro ao deletar pesquisa");
    }
    
    // Confirmar transação
    $conn->commit();
    
    // Redirecionar com sucesso
    header('Location: pesquisas.php?msg=success&detalhe=' . urlencode('Pesquisa Excluída!'));
    exit;
    
} catch (Exception $e) {
    // Desfazer transação em caso de erro
    $conn->rollback();
    
    // Redirecionar com erro
    header('Location: pesquisas.php?msg=error&detalhe=' . urlencode('Erro ao excluir pesquisa: ' . $e->getMessage()));
    exit;
}
?>
