Ir para conteúdo

POWERED BY:

Arquivado

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

leandrulas

Fazer busca em dois campos da tabela

Recommended Posts

Boa noite, pessoal. Sou iniciante e gostaria de uma ajuda de vocês aqui do fórum.

O problema é o seguinte: Estou utilizando um sistema no qual em uma página eu escolho os dados da pessoa a serem exibidos utilizando o botao do select option, nessa caixa do select ele tem as opçoes a serem escolhidas baseado no campo FINALIDADE da tabela BABR.

Exemplo: Escolha a Finalidade: <select> <option>A </option>

<option>B </option>

<option>C </option>

</select>.

Eu seleciono a opção "A", e ele exibe em uma tabela abaixo todos os dados da pessoa que tem ligação com a opção selecionada, certinho.

O problema é que eu adicionei outro campo na tabela BABR, chamado UNIDADE, no qual tem as opções X, Y e Z.

Gostaria que na hora em que eu fizesse a escolha no campo FINALIDADE "A", fosse feito uma busca também no campo UNIDADE listando somente as pessoas da OPÇÃO "Y",

Segue abaixo o meu código com a funcionalidade normal, porém não sei onde adiciono a opção de fazer uma busca no campo UNIDADE ="Y"

 

<?php
session_start();
include "conexao.php";
?>
<html>
<head> <link rel="stylesheet" type="text/css" href="/css/layout.css">
<meta charset="utf-8"/>
</head>
<title> Administracao</title>
<div id = "banner">
<img src="banner/banner.jpg" width="100%" </img>
</div>
<body>
<p align="center">Bem Vindo!<?php include "valida_login.php"; ?> </p>
<div id="principal">
<div id="conteudo">
<p> <?php include "menu.php";?> </p>
<p align="center">Finalidade:
<select name = "finalidade" onchange="javascript:location.href='babr.php?finalidade=' + this.value;">
<option value = ""> Selecione</option>
<option value = "todos" <?php echo (isset($_GET['finalidade']) && $_GET['finalidade']=='todos')? ' selected' : '' ?>> Todos </option>
<?php
$select_nome = mysql_query ("SELECT DISTINCT(finalidade) FROM babr ORDER BY finalidade DESC ");
$linhas_nome = mysql_num_rows ($select_nome);
for ($cont = 0 ; $cont < $linhas_nome ; $cont++ ){
$finalidade = mysql_result ($select_nome, $cont, "finalidade");
?>
<option value = "<?php echo $finalidade;?>" <?php echo (isset($_GET['finalidade']) && $_GET['finalidade']==$finalidade)? ' selected' : '' ?>> <?php echo $finalidade;?> </option>
<?php
}
?>
</select> <a href="cadastra_babr.php"> <img src="banner/adicionar.jpg"> </a> </p>
<?php
$strSQL = "";
if(isset($_GET['finalidade']) && $_GET['finalidade'] <> '')
{
$finalidade_get = $_GET['finalidade'];
if($finalidade_get == 'todos')
{
$strSQL = "";
}
else
{
$strSQL = "WHERE finalidade = '" . $_GET['finalidade'] . "'";
}
$consulta = mysql_query ("SELECT * FROM babr " . $strSQL . ";");
$linhas = mysql_num_rows ($consulta);
echo " <h3> ($linhas) Militares!</h3>";
?>
<table id="tbexibe">
<tr id="trexibe" bgcolor="">
<td id="tdexibe"> <font color="#B70000"><strong>Foto</strong></font></td>
<td id="tdexibe"><font color="#B70000"><strong>Posto</strong></font></td>
<td id="tdexibe"><font color="#B70000"><strong>Nome</strong></font></td>
<td id="tdexibe"><font color="#B70000"><strong>Situacao</strong></font></td>
<td id="tdexibe"><font color="#B70000"><strong>Atualizar</strong></font></td>
<td id="tdexibe"><font color="#B70000"><strong>Excluir</strong></font></td>
</tr>
<?php
for ($cont = 0; $cont < $linhas; $cont++) {
$foto = mysql_result($consulta, $cont, "foto");
$posto = mysql_result($consulta, $cont, "posto");
$finalidade = mysql_result($consulta, $cont, "finalidade");
$matricula = mysql_result($consulta, $cont, "matricula");
$nome = mysql_result($consulta, $cont, "nome");
$saram = mysql_result($consulta, $cont, "saram");
$vencimento = mysql_result($consulta, $cont, "vencimento");
$Situacao = "";
$Situacao_Cor = "";
$data_hoje = date('d-m-Y');
$data_Minima = date('d-m-Y', strtotime($vencimento. ' - 30 days'));
if(strtotime($data_hoje) > strtotime($data_Minima) && strtotime($data_hoje) < strtotime($vencimento))
{
$Situacao = "Vencendo <br>" . $vencimento;
$Situacao_Cor = "#FFCC00";
} elseif (strtotime($data_hoje) > strtotime($vencimento)) {
$Situacao = "Vencido <br>" . $vencimento;
$Situacao_Cor = "#FF0000";
} else {
$Situacao = "Apto <br>" . $vencimento;
$Situacao_Cor = "#66CC00";
}
?>
<tr>
<td id="tdexibe">
<a href="exibe_militar_babr.php?codigo=<?php echo $matricula;?>">
<img width="63" height="84" src="<?php echo $foto; ?>"> </a>
</td>
<td id="tdexibe"> <?php echo $posto?></td>
<td id="tdexibe"> <a href="exibe_militar_babr.php?codigo=<?php echo $matricula;?>"> <?php echo $nome; ?> </a> </td>
<td id="tdexibe" bgcolor="<?php echo $Situacao_Cor; ?>"> <?php echo $Situacao; ?></td>
<td id="tdexibe">
<a href="alterar_militar_babr.php?codigo=<?php echo $matricula;?>">
<img src="banner/alterar.jpg">
</a>
</td>
<td id="tdexibe">
<a href="processa_exclui_militar_babr.php?codigo=<?php echo $matricula;?>">
<img src="banner/excluir.jpg">
</a>
</td>
</tr>
<?php
}
}
?>
</table>
</div>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que montar a consulta de forma dinâmica, em uma string, antes de executá-la.

 

Se houver valor selecionado no filtro, adicione uma condição a mais no WHERE, com o operador AND.

 

 

$sql  = "SELECT... WHERE condicao1 = <condicao1>";
 
if (!empty($condicao2))
{
    $sql .= " AND condicao2 = <condicao2>"
}
 
query($sql)

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz desse jeito mas não funciona.

Como fez? Mostre o código.

Por que não funcionou? Deu erro? Qual

 

 

Será que conseguiria implementar no meu código?

Sim. Me mande uma mensagem, que eu te envio um orçamento.

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.