Jump to content
Fórum Script Brasil
  • 0

Formulário de Busca Simples usando selects


L3Leo

Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148907
    • Total Posts
      645000
×
×
  • Create New...