Consulta SQL com AJAX e PHP

jQuery

SQL

PHP

Ajax

19/10/2023

Oie pessoal. Sou novocom programação e estou desenvolvendo uma páginda de onde encontrar lojas, por estado e cidade, acho que estou bem próximo de dar certo,. alguem poderia me ajudar, por gentileza?
<!DOCTYPE html>
<html>
    <head lang="pt-br">
        <title>Onde Encontrar Oxford</title>
        <script src="js/jquery.js"></script>
        <link rel="stylesheet" href="css/bootstrap.min.css" />
        <script src="js/bootstrap.min.js"></script>
        <link rel="stylesheet" href="css/bootstrap-select.min.css">
        <script src="js/bootstrap-select.min.js"></script>
        <script>
            $(document).ready(function () {

                $('select').selectpicker();

                //$('#cidades').selectpicker();

                carrega_dados('estados');

                function carrega_dados(tipo, cat_id = ''){
                    $.ajax({
                        url: "carrega_dados.php",
                        method: "POST",
                        data: {tipo: tipo, cat_id: cat_id},
                        dataType: "json",
                        success: function (data)
                        {
                            var html = '';
                            for (var count = 0; count < data.length; count++){
                                html += '<option value="' + data[count].id + '">' + data[count].nome + '</option>';
                            }
                            if (tipo == 'estados'){
                                $('#estados').html(html);
                                $('#estados').selectpicker('refresh');
                            } else {
                                $('#cidades').html(html);
                                $('#cidades').selectpicker('refresh');
                            }
                        }
                    })
                }

                $(document).on('change', '#estados', function () {
                    var cat_id = $('#estados').val();
                    carrega_dados('cidades', cat_id);
                });

            });
        </script>
    </head>
    <body>
        <br />
        <div class="container">
            <h1>Onde Encontrar Oxford</h1>
            <h3>Encontre a loja mais próxima para comprar seu caderno</h3>
            <br />
            <div class="panel panel-default">
                <div class="panel-body">
                    <div class="form-group">
                        <label>Selecione um estado</label>
                        <select name="estados" id="estados" class="form-control input-lg" data-live-search="true" title="Selecione o Estado"></select>
                    </div>
                    <div class="form-group">
                        <label>Selecione uma cidade</label>
                        <select name="cidades" id="cidades" class="form-control input-lg" data-live-search="true" title="Selecione a Cidade"></select>
                    </div>
                    <div id="resultados">Vem ai...</div>
                </div>
            </div>
        </div>
        <script>
            $(document).ready(function() {
                var nomecidade = $("#cidades").val();
                $("#cidades").change(function() {
                    $("#resultados").load("busca2.php", {
                        namecidade: nomecidade
                    });
                });
            });
        </script>
    </body>
</html>



<?php
    require './bdconnect.php';

    if (isset($_POST['namecidade'])) {
        $name = $_POST['namecidade'];

        $sql = "SELECT * FROM lojas WHERE Cidade LIKE '%$name%'";
        $result = mysqli_query($conn, $sql);
        if (mysqli_num_rows($result) > 0) {
            while ($row = mt_sqli_fetch_assoc($result)) {
                echo "<p>";
                echo $row['Nome'];
                echo "<br>";
                echo $row['Endereco'];
                echo "<br>";
                echo $row['Telefone'];
                echo "</p>";
            }
        } else {
            echo "não tem loja ai fi";
        }
    }

?>


<?php
require './bdconnect.php';

if (isset($_POST["tipo"])) {
    if ($_POST["tipo"] == "estados") {
        $sql = "
                SELECT * FROM estado
                ORDER BY uf ASC
                ";
        $estados = mysqli_query($conn, $sql);
        while ($row = mysqli_fetch_array($estados)) {
            $saida[] = array(
                'id' => $row["id"],
                'nome' => $row["nome"]
            );
        }
        echo json_encode($saida);
    } else {
        $cat_id = $_POST["cat_id"];
        $sql = "
                SELECT * FROM cidade 
                WHERE estado = '" . $cat_id . "' 
                ORDER BY nome ASC
                ";
        $cidades = mysqli_query($conn, $sql);

        while ($row = mysqli_fetch_array($cidades)) {
            $saida[] = array(
                'id' => $row["id"],
                'nome' => $row["nome"]
            );
        }
        echo json_encode($saida);
    }
}
?>

Gustavo

Gustavo

Curtidas 0
POSTAR