Ir para conteúdo
Fórum Script Brasil
  • 0

Requisição ajax não recebe a consulta solicitada.


MurilodeBuzios

Pergunta

Eu peguei o script de uma requisição ajax na WEB, e a usei para receber o resultado de uma pesquisa com tres termos em uma DIV, mas quando uso o type="button" no na tag button o resultado são todos os aquivos da tabela usuarios, quando eu consulto sem o type="button", ele me retorna a consulta correta,abrindo a pagina "buscar.php" por fora da DIV.

Não sei se me fiz entender o que eu quero, mas estou postando o codigos usados para que os amigos possam me dar uma luz de onde estou errando.

Pagina de consulta:
 

<?php
include "../conexao.php";
?>

    <div align="center">
        <form action="../arquivos/buscar.php" method="POST">

            <select id="servico" name="servico">
                <option>Serviços</option>
                <option>Eletricista</option>
                <option>Babá</option>
                <option>Pedreiro</option>
            </select>
            <select id="uf" name="uf">
                <option>Estado</option>
            </select>

            <select id="cidade" name="cidade">
                <option>Cidade</option>
            </select>

            <button id="buscar">Buscar</button> <!-- type="button" -->
        </form>
        <img style="width:100%; max-width:512px;" src="img/poster.jpg" alt="">
        <div id="dados"><!-- Aqui aparecerá os dados buscados... --></div>
    </div>

<script src="../js/ajax.js"></script>
<script src="../js/app.js"></script>


Codigo ajax.js
 

<script>     
        function buscar(servico, uf, cidade)
            {
        var page = "../arquivos/buscar.php";
            $.ajax
        ({
        type: "POST",
        dataType: "html",
        url: page,
        beforeSend: function () {
        $("#dados").html("Carregando...");
        },
        data: {servico: servico, uf: uf, cidade: cidade},
        success: function (msg)
        {
        $("#dados").html(msg);
        }
        });
        }
        $("#buscar").click(function () {
        buscar($("#servico", "#uf", "#cidade").val())
    });
</script>

Pagina da resposta:
 

<?php
    include "../conexao.php";

    // Inicializa as variáveis de busca
    $busca1 = $_POST['servico'] ?? '';
    $busca2 = $_POST['uf'] ?? '';
    $busca3 = $_POST['cidade'] ?? '';

    // Monta a consulta SQL dinamicamente
    $sql = "SELECT * FROM usuarios WHERE 1=1"; //Tabela cadastro (Wamp) ou usuarios (MegaHost)
    $params = [];

    if (!empty($busca1)) {
        $sql .= " AND servico LIKE :servico";
        $params[':servico'] = "$busca1"; // Usando LIKE para buscas parciais
    }
    if (!empty($busca2)) {
        $sql .= " AND uf LIKE :uf";
        $params[':uf'] = "$busca2";
    }
    if (!empty($busca3)) {
        $sql .= " AND cidade LIKE :cidade";
        $params[':cidade'] = "$busca3";
    }

    // Prepara e executa a consulta
    $stmt = $conn->prepare($sql);
    $stmt->execute($params);

    // Obtém os resultados
    $resultados = $stmt->fetchAll();

    // Exibe os resultados
    echo "<div align='center'>";
    if ($resultados) {
        echo "<h2>Resultados da Busca</h2>";


        echo "<table class='table table-striped table-advance table-hover'>";

            echo "<tbody>";
                echo "<tr>";
                    echo "<th><i class='icon_profile'></i> Nome</th>";
                    echo "<th><i class='icon_profile'></i> Serviço</th>";
                    echo "<th><i class='icon_profile'></i> Estado</th>";
                    echo "<th><i class='icon_profile'></i> Cidade</th>";
                echo "</tr>";
            foreach ($resultados as $resultado) {            
                echo "<tr>";
                    echo "<td>" . htmlspecialchars($resultado['nome']) . "</td>";
                    echo "<td>" . htmlspecialchars($resultado['servico']) . "</td>";
                    echo "<td>" . htmlspecialchars($resultado['uf']) . "</td>";
                    echo "<td>" . htmlspecialchars($resultado['cidade']) . "</td>";
                echo "</tr>";
            echo "</tbody>";
            }
        echo "</table>";



    } else {
        echo "<p>Nenhum resultado encontrado.</p>";
    }
    echo"<br><br>";
    echo"<a href='../inicio.php'>Voltar para o formulário</a>";
    echo "</div>"
?>

Desde já agredeço a atenção dos amigos, e no aguardo de alguma resposta que possa me ajudar a fazer o resultado retorna dentro da DIV id="dados", 

obrigado!!!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,5k
×
×
  • Criar Novo...