<?php
require '../conexao/conexao.php';
require '../sessao.php';

// Verifique se o formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Recuperar os parâmetros de consulta do index.php
    $cidade = $_POST['cidade'];
    $ano = $_POST['ano'];
    $mes = $_POST['mes'];

    // Construir a string de consulta
    $query_string = http_build_query([
        'cidade' => $cidade,
        'ano' => $ano,
        'mes' => $mes,
        'form_submitted' => 1 // supondo que você ainda precise disso
    ]);

    // Presumindo que você está recebendo os arrays 
    $manipulado = $_POST['valor_manipulado']; // Estes são as metas de manipulado
    $revenda = $_POST['valor_revenda']; // Estes são as metas de revenda
    $marcapropria = $_POST['valor_marcapropria']; // Estas são as metas de marca própria
    $ids = $_POST['id_metas']; // Estes são os IDs dos registros a serem atualizados

    // Preparando para evitar SQL Injection
    $stmt = $connectionmysql->prepare("UPDATE metas SET valor_manipulado = ?, valor_revenda = ?, valor_marcapropria = ? WHERE id_metas = ?");

    // Verifica se a preparação foi bem-sucedida
    if ($stmt === false) {
        die('Erro ao preparar a consulta: ' . htmlspecialchars($connectionmysql->error));
    }

    // Atualizando cada entrada
    foreach ($ids as $id) {
        // Aqui, garantimos que estamos usando os valores corretos para as metas, que correspondem ao ID atual.
        // Certifique-se de que os valores em $manipulado, $revenda e $marcapropria estão alinhados com $ids.
        $manipuladoAtual = $manipulado[$id];
        $revendaAtual = $revenda[$id];
        $marcapropriaAtual = $marcapropria[$id];

        // Convertendo valores para garantir que eles correspondam aos tipos de dados esperados pela consulta SQL
        $manipuladoAtual = str_replace(',', '.', $manipuladoAtual); // Substitui vírgula por ponto
        $revendaAtual = str_replace(',', '.', $revendaAtual); // Substitui vírgula por ponto
        $marcapropriaAtual = str_replace(',', '.', $marcapropriaAtual); // Substitui vírgula por ponto

        $manipuladoAtual = (float) $manipuladoAtual; // Converte para float, pois 'valor_manipulado' é um decimal
        $revendaAtual = (float) $revendaAtual; // Converte para float, pois 'valor_revenda' é um decimal
        $marcapropriaAtual = (float) $marcapropriaAtual; // Converte para float, pois 'valor_marcapropria' é um decimal

        // Ligando parâmetros para a instrução preparada
        $stmt->bind_param('dddi', $manipuladoAtual, $revendaAtual, $marcapropriaAtual, $id);

        // Executando a consulta preparada
        $result = $stmt->execute();

        // Verifica se a execução foi bem-sucedida
        if ($result === false) {
            die('Erro ao executar a consulta: ' . htmlspecialchars($stmt->error));
        }
    }

    // Fecha a instrução
    $stmt->close();

    // Aqui, você redirecionaria de volta para a página 'index.php' ou onde quer que você precise ir a seguir
    header("Location: index.php?status=sucesso&$query_string");
    exit();
} else {
    // Redirecionado aqui se nenhuma informação POST estiver presente
    header("Location: index.php?status=erro$query_string");
    exit();
}
?>
