<?php
// include identifica.cripto.php para conexão
include 'identifica.cripto.php';

// Receber parâmetros pela URL
$campo = isset($_GET['campo']) ? $_GET['campo'] : '';
$tipo = isset($_GET['tipo']) ? $_GET['tipo'] : '';

header('Content-Type: application/json');

try {
    // Criar conexão com o banco de dados
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Verificar conexão
    if ($conn->connect_error) {
        throw new Exception("Connection failed: " . $conn->connect_error);
    }

    // Query SQL principal
    $sql = "SELECT
                concat(
'<div class=\"linha\">',
'<div class=\"logo\">', '<img src=\"../imagens/',logo,'\" alt=\"logo\">', '</div>',".

//'<div class=\"contador_cursos\">',ROW_NUMBER() OVER (ORDER BY id_chave_curso),'</div>',
                   "'<div class=\"nome_instituicao\">', nome_instituicao, '</div>',
                    group_concat(
                        CASE
                            WHEN t1.titulo != 'nulo' THEN 
                                concat('<div class=\"celula\">',
                                    '<div class=\"caption\">', nome_tipo_classificacao, '</div>',
                                    '<div>', t1.titulo, '</div>',
                                '</div>')
                            ELSE ''
                        END separator ''
                    ),
                '</div>') as curso_final
            FROM
                cursos
            LEFT JOIN
                instituicoes ON id_instituicao = id_chave_instituicao
            LEFT JOIN
                campos_cursos cc ON cc.id_curso = id_chave_curso
            LEFT JOIN
                (
                    SELECT
                        group_concat(acentuada order by ordem separator ' ') as titulo,
                        id_titulo
                    FROM
                        frases,
                        tokens
                    WHERE
                        id_chave_token = id_token
                    GROUP BY
                        id_titulo
                ) as t1 ON t1.id_titulo = cc.id_titulo
            LEFT JOIN
                titulos ON t1.id_titulo = id_chave_titulo
            LEFT JOIN
                tipos_classificacoes ON id_tipo_classificacao = id_chave_tipo_classificacao
            WHERE
                id_chave_curso IN (
                    SELECT
                        id_chave_curso
                    FROM
                        cursos
                    LEFT JOIN
                        campos_cursos cc ON cc.id_curso = id_chave_curso
                    LEFT JOIN
                        (
                            SELECT
                                group_concat(acentuada order by ordem separator ' ') as titulo,
                                id_titulo
                            FROM
                                frases,
                                tokens
                            WHERE
                                id_chave_token = id_token
                            GROUP BY
                                id_titulo
                        ) as t1 ON t1.id_titulo = cc.id_titulo
                    LEFT JOIN
                        titulos ON t1.id_titulo = id_chave_titulo
                    LEFT JOIN
                        tipos_classificacoes ON id_tipo_classificacao = id_chave_tipo_classificacao
                    WHERE
                        nome_tipo_classificacao = ? AND t1.titulo LIKE ?
                    ORDER BY id_chave_curso
                )
            GROUP BY id_chave_curso
            ORDER BY id_chave_curso";

    // Preparar e executar a consulta
    $stmt = $conn->prepare($sql);
    $searchTerm1 = "$campo%";
    $searchTerm2 = $tipo;
    $stmt->bind_param("ss", $searchTerm2, $searchTerm1);
    $stmt->execute();

    // Obter resultados
    $result = $stmt->get_result();
    $data = [];

    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }

    echo json_encode($data);

    // Fechar conexões
    $stmt->close();
    $conn->close();

} catch (Exception $e) {
    echo json_encode(["error" => $e->getMessage()]);
}
?>
