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

Formulário de Busca Simples usando selects


L3Leo

Pergunta

Olá, Pessoal. Tudo bem?

Estou tentando desenvolver uma busca por lojas no site da empresa onde trabalho. Não preciso de nada que seja complexo demais, na verdade a coisa é até bem simples.

Funciona de seguinte maneira: O cliente deverá escolher o estado onde ele mora e a cidade, feito isso aparecerá na parte debaixo as lojas que atendem naquela cidade, mais ou menos como funciona neste site: http://multilaser.com.br/ondecomprar/index/BO380/mochila-swiss-vermelha-multilaser-bo380.html

Eu já tenho o formulário e o banco de dados montado, só me falta fazer a busca funcionar.

Seguem os arquivos:

 

index.php

<html>
    <head>
    <script type="text/javascript" src="filtro.js"></script>
        <title>Exemplo: Populando selects de cidades e estados com AJAX (PHP e jQuery) | DaviFerreira blog!</title>
        <style type="text/css">
            *, html {
                font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
                margin: 0px;
                padding: 0px;
                font-size: 12px;
            }

            a {
                color: #0099CC;
            }

            body {
                margin: 10px;
            }
            .carregando{
                color:#666;
                display:none;
            }
        </style>
    </head>
    <body>
        <?php
            $con = mysql_connect( 'localhost', 'root', 'root' ) ;
            mysql_select_db( 'root', $con );
        ?>
        <label for="cod_estados">Estado:</label>
        <select name="cod_estados" id="cod_estados">
            <option value="">-- Qual é o seu estado? --</option>
            <?php
                $sql = "SELECT cod_estados, sigla
                        FROM estados
                        ORDER BY sigla";
                $res = mysql_query( $sql );
                while ( $row = mysql_fetch_assoc( $res ) ) {
                    echo '<option value="'.$row['cod_estados'].'">'.$row['sigla'].'</option>';
                }
            ?>
        </select>

        <label for="cod_cidades">Cidade:</label>
        <span class="carregando">Aguarde, carregando...</span>
        <select name="cod_cidades" id="cod_cidades">
            <option value="">-- Qual é a sua cidade? --</option>
        </select>

        <script src="http://www.google.com/jsapi"></script>
        <script type="text/javascript">
          google.load('jquery', '1.3');
        </script>        

        <script type="text/javascript">
        $(function(){
            $('#cod_estados').change(function(){
                if( $(this).val() ) {
                    $('#cod_cidades').hide();
                    $('.carregando').show();
                    $.getJSON('cidades.ajax.php?search=',{cod_estados: $(this).val(), ajax: 'true'}, function(j){
                        var options = '<option value=""></option>';    
                        for (var i = 0; i < j.length; i++) {
                            options += '<option value="' + j.cod_cidades + '">' + j.nome + '</option>';
                        }    
                        $('#cod_cidades').html(options).show();
                        $('.carregando').hide();
                    });
                } else {
                    $('#cod_cidades').html('<option value="">– Escolha um estado –</option>');
                }
            });
        });
        </script>
        <input type="submit" name="submit" id="submit" value="Buscar">
    </body>
</htm>

 

cidades.ajax

<?php
    header( 'Cache-Control: no-cache' );
    header( 'Content-type: application/xml; charset="utf-8"', true );

    $con = mysql_connect( 'localhost', 'root', 'root' ) ;
    mysql_select_db( 'root', $con );

    $cod_estados = mysql_real_escape_string( $_REQUEST['cod_estados'] );

    $cidades = array();

    $sql = "SELECT cod_cidades, nome
            FROM cidades
            WHERE estados_cod_estados=$cod_estados
            ORDER BY nome";
    $res = mysql_query( $sql );
    while ( $row = mysql_fetch_assoc( $res ) ) {
        $cidades[] = array(
            'cod_cidades'    => $row['cod_cidades'],
            'nome'            => (utf8_encode($row['nome'])),
        );
    }

    echo( json_encode( $cidades ) );

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...