Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
Consultar dois campos da mesma tabela e filtrar os diferentes apos filtrar com distinct
Por
flaviolucio.ti, em SQL Server
Recommended Posts
-
Conteúdo Similar
-
Por FabianoSouza
Gente, o negócio é cabeludo.
Na aplicação tem uns botões para o usuário marcar regiões de interesse: Centro, Zona Norte, Zona Sul, Zona Leste e Zona Oeste.
Ele pode marcar todas ou nenhuma. Dentro desse universo há dezenas de combinações possíveis, umas 50 possibilidades.
Meu problema é como tratar isso num SELECT para poder filtrar a coluna onde guardo essa informação.
É uma coluna numérica entre 0 (para quando não existe uma zona definida) e 5.
Impossível tratar isso com IF ou CASE.
Qual a solução?
Eu pensei em tentar algo com tabela temporária, fazendo isso:
1) Recupero o código das Zonas selecionadas na aplicação
2) Crio uma tab temporária e armazeno esses valores
3) Faço JOIN, entre a coluna codZona (da tab onde armazena esse dado) e a coluna da tab virtual
Essa ideia tecnicamente funcionaria? Há outra saída mais eficiente?
Grato.
-
Por vinitf
Parece bem bobinho, mas sou iniciante, por isso me perdoem. Tenho uma lista com três empresas, e queria com um botão filtrar os dados (mostrar as que estão on e as que estão off) e com um outro botão contar quantas estão on e off e mostrar na tela a quantidade). Sei que existem métodos exclusivos do JS, mas queria à princípio, utilizando for.
<button onclick="fil()">Filtrar dados</button> <p id="botão1"></p> <button onclick="con()">Contar dados</button> <p id="botão2"></p> var dados = [{ "Nome": "EMPRESA1", "Status": true }, { "Nome": "EMPRESA2", "Status": false }, { "Nome": "EMPRESA3", "Status": true }]; //filtrar os serviços com status igual ao parametro, NÃO USAR UNDERSCORE function filtrar(Status) { return dados.Status = true; } function fil() { document.getElementById("botão1").innerHTML = dados.filter(filtrar); } //contar a quantidade de serviços com status igual ao parametro, NÃO USAR UNDERSCORE function contar(status) { //for }
-
Por josenilson
Olá como faço para buscar vários resultados em um filtro em mysql, ?
tenho esse abaixo com exemplo que me retorna apenas um resultado tipo.
se eu consultar o nome joão e tiver dois joão antônio e joão paulo cadastrados no banco como exibo isso ?
só esta trazendo um resultado deis de já agradeço.
segue o código que estou utilizando como filtro ou consulta.
<?php mysql_connect( 'localhost', 'root', 'rizeane20' ) or die ("could not connect"); mysql_select_db("sistema") or die ("could not find db !"); $output = ""; //coletando dados if (isset($_POST["search"])) { $searchq = $_POST["search"]; $searchq = preg_replace("#[^0-9a-z]#i", "",$searchq); $query = mysql_query( " SELECT * FROM login WHERE nome LIKE '%$searchq%' OR usuario LIKE '%$searchq%' OR senha LIKE '%$searchq%' OR nivel LIKE '%$searchq%' ") or die ("could not search !"); $count = mysql_num_rows($query); if ($count == 0) { $output = "there was no search results !"; }else{ while ($row = mysql_fetch_array($query)) { $nome = $row ['nome']; $usuario = $row ['usuario']; $senha = $row ['senha']; $id = $row ['idlogin']; $nivel = $row ['nivel']; $output .="$nome"; $output .="$usuario"; //$output .= '<DIV>'.$nome.' '.$usuario.' '.$senha.' '.$nivel.' </DIV>' ; } } } ?> <form action="resultado.php" method="post"> <input type="text" name="search" required class="form-control" placeholder="localizador" class="form-control"> <input type="submit" value="localizar" class="form-control"> <?php print("$output"); ?> </form> o código acima esta com a consulta e o form com o input para buscar o resultado no banco abaixo esta o código que volta com o resultado da busca, mas como eu disse ele só me retorna 1 resultado mesmo se tiver 2 ou mais no banco. <?php mysql_connect( 'localhost', 'root', 'rizeane20' ) or die ("could not connect"); mysql_select_db("sistema") or die ("could not find db !"); $output = ""; //coletando dados if (isset($_POST["search"])) { $searchq = $_POST["search"]; $searchq = preg_replace("#[^0-9a-z]#i", "",$searchq); $query = mysql_query( " SELECT * FROM login WHERE nome LIKE '%$searchq%' OR usuario LIKE '%$searchq%' OR senha LIKE '%$searchq%' OR nivel LIKE '%$searchq%' ") or die ("could not search !"); $count = mysql_num_rows($query); if ($count == 0) { $output = "there was no search results !"; }else{ while ($row = mysql_fetch_array($query)) { $nome = $row ['nome']; $usuario = $row ['usuario']; $senha = $row ['senha']; $id = $row ['idlogin']; $nivel = $row ['nivel']; $output .= '<DIV>'.$nome.' <br>'.$usuario.' <br>'.$senha.' <br>'.$nivel.' </DIV>' ; } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Resultado Busca</title> </head> <body> <table border="1"> <tr> <td>Nome:</td> <td><?php echo $nome ?></td> </tr> <tr> <td>Usuário:</td> <td><?php echo $usuario ?></td> </tr> <tr> <td>Senha:</td> <td><?php echo $senha ?></td> </tr> <tr> <td>Nivel:</td> <td><?php echo $nivel ?></td> </tr> </table> </body> </html> -
Por Matheus Morett
Olá pessoal estou com um erro que presumo que seja bobo na tentativa de usar o Isotope filter, segue abaixo partes do código:
<!! -------------------HEAD---------------------- !!>
<head> <meta charset='UTF-8'> <script src="js/bootstrap.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script src="js/isotope.js"></script> </head> <!! -------------------/HEAD---------------------- !!>
<!! -------------------JAVA SCRIPT---------------------- !!>
$( document ).ready(function() { /* activate jquery isotope */ var $container = $('#posts').isotope({ itemSelector : '.item', isFitWidth: true }); $(window).smartresize(function(){ $container.isotope({ columnWidth: '.col-md-2' }); }); $container.isotope({ filter: '*' }); // filter items on button click $('#filters').on( 'click', 'button', function() { alert("I am an alert box!"); var filterValue = $(this).attr('data-filter'); $container.isotope({ filter: filterValue }); }); }); <!! -------------------/JAVA SCRIPT---------------------- !!>
<!! -------------------Filtros---------------------- !!>
<div class='col-md-12'> <div id="filters" class="button-group"> <button id='filters' class="btn btn-default" data-filter="*">Mostrar tudo</button> <button id='filters' class="btn btn-default" data-filter=".videos">Vídeos</button> <button id='filters 'class="btn btn-default" data-filter=".fotos">Fotos</button> </div> </div> <!! -------------------/Filtros---------------------- !!>
<!! -------------------OBJETOS A SEREM FILTRADOS---------------------- !!>
<div class='row' id='posts'> <?php $consulta = $pdo->query("SELECT * FROM arquivos"); $id = 1; while ($linha = $consulta->fetch(PDO::FETCH_OBJ)) { $nome = $linha -> nome; $url = $linha -> url; $codigo = $linha -> codigo; $tipo = $linha -> tipo; $data = $linha -> data; if ($tipo=='Foto') { ?> <div class='item fotos col-md-2' id='<?php echo $id ?>'> <div class='thumbnail' > <h3> <?php echo $nome ?> </h3> <div style='background-color:757575'><center> <img src='fotos/<?php echo $url ?>' class='img-responsive' style='max-height:250px'> </center> </div> <i><?php echo $data ?> </i> </div> </div> <?php } if ($tipo=='Video'){ ?> <div class='item videos col-md-2' id='<?php echo $id ?>'> <div class='thumbnail' > <h3> <?php echo $nome ?> </h3> <hr> <div class="embed-responsive embed-responsive-16by9" > <video controls name='media' style='max-height:150px'> <source src="videos/<?php echo $url; ?>" style='max-height:130px'></source> </video> </div><i><?php echo $data ?> </i> </div> </div> <?php } $id = $id+1; } ?> </div> <!! -------------------/OBJETOS A SEREM FILTRADOS---------------------- !!>
-