1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Criar pesquisa por filtros

Discussão em 'Web Development' iniciada por esaramago123, 14 de Junho de 2012. (Respostas: 7; Visualizações: 984)

  1. esaramago123

    esaramago123 Power Member

    Boas,

    http://netviagens.sapo.pt/Ferias/PesquiseFerias.aspx
    Quero criar uma pesquisa como está neste site. Esta é em Silverlight, mas quero fazer em php/javascript.

    Estive a pesquisar sobre como fazer isto, mas não encontrei nada que me esclarecesse.
    Este tipo de pesquisa tem algum nome específico? Como fazer isto assim por alto? É complicado?
     
  2. bte

    bte Power Member

    Tens alguma dúvida especifica?

    Podes (por exemplo) implementar os vários tipos de consulta e mostras/escondes aquilo que pretendes através de eventos.

    Em cada evento verificas o valor actual, consoante o valor mostras a informação pretendida, escondes a informação indesejada e alteras o que for necessário (como texto, imagens, etc) (podes ainda utilizar um pouco de Jquery para descomplicar).

    Outra alternativa seria utilizares AJAX, isto é, removeres a parte que não necessitas (por exemplo, um div que agrupa os objectos de uma determinada consulta), mostrar um .gif de loading e tratares os dados devolvidos pelo servidor.

    EDIT:

    Esqueci-me de referir que não considero dificil mas é trabalhoso dependendo da quantidade de condições.
     
    Última edição: 14 de Junho de 2012
  3. esaramago123

    esaramago123 Power Member

    Hmm... Se não quiser guardar os valores numa base de dados não será preciso usar PHP? Basta Javascript?
    Não tinha nenhuma dúvida específica porque não sou programador e nem sabia por onde começar.
     
  4. bte

    bte Power Member

    Eventualmente podes implementar o funcionamento da consulta apenas com JS (dependendo se não necessitas de efectuar uma query à BD, por exemplo, para limitar no calendário determinados dias de voo que estão lotados), no entanto, como o objectivo da consulta é devolver informação (que estará armazenada numa BD, caso contrário não faria sentido aplicar uma consulta detalhada), terás de utilizar também PHP (ou outra server-side language) pelo menos numa fase final para comunicares com o servidor.

    Talvez o melhor seja começares por implementar e compreender querys simples utilizando PHP e MySQL e posteriormente aprenderes um pouco sobre o DOM (Document Object Model) de JavaScript e como funciona.
     
  5. esaramago123

    esaramago123 Power Member

    Queria só umas luzes.
    Vou experimentar. Obrigado ;)
     
  6. bte

    bte Power Member

    Um pequeno exemplo que esboça o tipo de raciocínio que podes utilizar com PHP e JS (aconselho também a utilizares um pouco de Jquery para simplificar algumas partes):

    Código:
    function verifica_tipo_consulta(cb) {
         // Checkbox alterada para checked, então:
              // Alterar título da consulta, imagem, esconder o div activo e mostrar o div pretendido
    }
    
    // ===== BEGIN CONSULTA =====
    
    <input type="checkbox" value="0" id="cb_voo" onchange="verifica_tipo_consulta(this);" /> VOO
    <input type="checkbox" value="1" id="cb_hotel" onchange="verifica_tipo_consulta(this);" /> HOTEL
    <input type="checkbox" value="2" id="cb_voo_hotel" onchange="verifica_tipo_consulta(this);" /> VOO + HOTEL
    <input type="checkbox" value="3" id="cb_ferias" onchange="verifica_tipo_consulta(this);" /> FÉRIAS
    <input type="checkbox" value="4" id="cb_escapadelas" onchange="verifica_tipo_consulta(this);" /> ESCAPADELAS
    
    // Tipo de consulta para VOO (show)
    <div>
         // Content
    </div>
    
    
    // Tipo de consulta para HOTEL (hide)
    <div>
         // Content
    </div>
    
    
    // Tipo de consulta para VOO + HOTEL (hide)
    <div>
         // Content
    </div>
    
    
    // Tipo de consulta para FÉRIAS (hide)
    <div>
         // Content
    </div>
    
    
    // Tipo de consulta para ESCAPADELAS (hide)
    <div>
         // Content
    </div>
    
    
    // ===== END CONSULTA =====
    
    Há algumas coisas que poderiam ser melhoradas mas aqui o objectivo é dar o primeiro arranque na forma de pensar.
     
  7. esaramago123

    esaramago123 Power Member

Partilhar esta Página