Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dgopereira

Consultar por valores <select> </select>

Recommended Posts

Olá!!

 

Estou com uma dificuldade e gostaria de uma ajuda dos amigos mais experientes...

 

Tenho um form "consulta.php" que passa os dados via "post" para outra página "listaconsulta.php".

 

Na página "consulta.php" tenho os inputs:

 


<table >
<tr>
<td>
Data:     <input type="text" name="datai" id="datai">
       a                   <input type="text" name="dataf" id="dataf">
       Entrada Hora:       <input type="text" name="horaiEntrada" id="$horaiEntrada">
       a                  <input type="text" name="horafEntrada" id="$horafEntrada" >

       Saída Hora:        <input type="text" name="horaiSaida" id="$horaiSaida" >
       a                  <input type="text" name="horafSaida" id="$horafSaida">

       Tipo:              <select name="tipo" id="tipo">
                          <option value=" "selected> </option>
                          <option value="Todos">Todos</option>
                          <option value="Visitante">Visitante</option>
                          <option value="Cliente">Cliente</option>
                          <option value="Candidato">Candidato</option>
                          <option value="Fornecedor">Fornecedor</option>
                          <option value="Prest. Serviços">Prest. Serviços</option>
                          <option value="Demissional">Demissional</option>
                             </select>
</td>
<td><input type=image src="images/sucesso.png"></td>
</tr>
</table>

Minha query está "OK", porém agora precisei adcionar o campo "Tipo", a consulta ficaria assim:

 

| Data: 01/01/2010 a 31/12/2010 | HoraEntrada: 00:00 a 23:59 | HoraSaida: 00:00 a 23:59 | Tipo: |

 

Em consigo fazer lista pelas opcoes select, como faço para aceitar a opcao "TODOS" do select???? pois do geito que esta so traz se informar um "Tipo"...

 

listaconsulta.php

 


@ $dataini = ConverteData($_POST["datai"]);
    @ $datafim = ConverteData($_POST["dataf"]);
    @ $horaiEntrada = $_POST["horaiEntrada"];
    @ $horafEntrada = $_POST["horafEntrada"];
    @ $horaiSaida = $_POST["horaiSaida"];
    @ $horafSaida = $_POST["horafSaida"];
    @ $tipo          = $_POST["tipo"];



    //armazena os parametros na sessao
    $_SESSION['FilterParam']['dataini'] = $dataini;
    $_SESSION['FilterParam']['datafim'] = $datafim;
    $_SESSION['FilterParam']['horaiEn'] = $horaiEntrada;
    $_SESSION['FilterParam']['horafEn'] = $horafEntrada;
    $_SESSION['FilterParam']['horaisa'] = $horaiSaida;
    $_SESSION['FilterParam']['horafsa'] = $horafSaida;
    $_SESSION['FilterParam']['tipo']     = $tipo;


//faz a consulta no banco atraves dos dados passados
$result = mysql_query("SELECT COUNT(*) FROM registro WHERE
    Data >= '".$_SESSION['FilterParam']['dataini']."' AND
    Data <= '".$_SESSION['FilterParam']['datafim']."' AND
    horaentrada >= '".$_SESSION['FilterParam']['horaiEn']."' AND
    horaentrada <= '".$_SESSION['FilterParam']['horafEn']."' AND
    horasaida   >= '".$_SESSION['FilterParam']['horaisa']."' AND
    horasaida   <= '".$_SESSION['FilterParam']['horafsa']."' AND
    tipo         = '".$_SESSION['FilterParam']['tipo']."'     OR (horasaida IS NULL)") OR DIE (mysql_error());            
$num_rows = mysql_fetch_row($result);

 

Só precisaria de fazer com que dentro de select tivesse uma opção: "TODOS" e ao ser selecionado ele trousesse todos os "tipos"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude a linha

 

tipo  = '".$_SESSION['FilterParam']['tipo']."'...

para

tipo   like '".$_SESSION['FilterParam']['tipo']."'

e no seu select mude o value de Todos para %

 

<option value="%">Todos</option>

 

a consulta sera processada com tipo like '%'

 

o % nesse caso representa qualquer coisa... então todos serão listados

 

ou você poderia verificar se o usuario selecionou Todos então você não concatena a linha que adiciona o

"and tipo = ...."

 

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.