Jump to content
danicarla

Ajuda para essa consulta

Recommended Posts

Oi gente.. tenho uma tabela de endereços e uso php para fazer dois loops para exibir as cidades e depois os bairros daquela cidade,

fica algo + ou - assim:

$a = mysql_query('SELECT nome_cidade FROM tab GROUP BY nome_cidade');
while($b = mysql_fetch_array($b)){
	echo $b['nome_cidade'].'<br>';
	$c = mysql_query('SELECT nome_bairro FROM tab WHERE nome_cidade='$b[nome_cidade]' GROUP BY nome_bairro');
      while($d = mysql_fetch_array($c)){
		echo $d['nome_bairro'].'<br>';
	}
}

Alguém sabe se eu consigo fazer isso somente com uma consulta? pra não precisar incluir um loop dentro do outro

Share this post


Link to post
Share on other sites

Precisa usar JOIN.

 

Aí no banco, o bairro precisa ter id da cidade para encontra-lá.

 

Resumidamente, o JOIN consulta relacionamentos entre tabelas, dê uma olhada aqui.

 

Sua consulta ficaria +/- assim:

SELECT * FROM tb_cidade
INNER JOIN tb_bairro
ON tb_cidade.id = tb_bairro.id_cidade;

Tenta fazer e retorne aqui.

Share this post


Link to post
Share on other sites

Ah, desculpe, é mesmo. 

Agrupe por cidade e por bairro, não resolve?

Select nome_cidade, nome_bairro FROM tabela GROUP BY nome_cidade, nome_bairro ORDER BY nome_cidade

Assim terá todas as cidades e todos os bairros sem repetir as cidades.

Share this post


Link to post
Share on other sites

Sim esse é o jeito que eu faço atualmente, mas dai eu preciso ficar fazendo IF para exibir o nome da cidade somente no inicio, minha idéia era fazer isso atraves de consulta, mas aparentemente não é viavel

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By agness
      a imagem é uma parte de uma tabela extensa.
      como eu faço uma consulta por exemplo para jogador igual à 1, 3, 5 e liga igual à 1?
      isso é para uma verificação se existe uma liga com exatamente os jogadores 1, 3 e 5, nem mais nem menos
      espero ter sido claro
    • By amandafuceli
      Sou iniciante no que se refere à linguagem do MySql e estou tentando filtrar algumas informações que preciso retirar de uma tabela.

      Basicamente eu tenho dados de indivíduos em anos seguidos (2003, 2004, 2005) todos em uma mesma tabela. Além desses dados, disponho de informações, por exemplo, da escolaridade (que pode mudar ano após ano, ou manter-se constante).

      Porém alguns registros da minha base de dados são inconsistentes, por exemplo, selecionando os primeiros registros ordenados pelo cpf e pelo ano, temos (mudei o cpf por motivos de sigilo dos dados):
        1 2 3 4 5 6 7 8 9 10 11 12 13 14 Ano      CPF        Escolaridade 2004    10000000kkk 3 2005    10000000kkk 5 2003    10000000zzz 7 2005    10000000zzz 6 2003    10000000ttt 7 2005    10000000ttt 4 2004    10000000ppp 6 2005    10000000ppp 9 2004    10000000sss 7 2005    10000000sss 9 2005    10000000sss 9 2003    10000002xxx 6 2005    10000002xxx 7
      A escolaridade é codificada:
        1 2 3 4 5 6 7 8 9 10 11 12 ANALFABETO      1 ATE 5.A INC     2 5.A CO FUND     3 6. A 9. FUND    4 FUND COMPL      5 MEDIO INCOMP    6 MEDIO COMPL     7 SUP. INCOMP     8 SUP. COMP       9 MESTRADO        10 DOUTORADO       11 IGNORADO        -1
      Minha dúvida é: como posso filtrar essas inconsistências? Alguém pode me ajudar?  
    • By Jamersonjds
      Pra aprendizado, estou tentando listar dados do banco de dados e trazer os resultados para meu html.
      Estou conseguindo fazer com este código.
       
      <!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="UTF-8"> <title>Chat</title> <link rel="stylesheet" href="../public/style/reset.css"> <link rel="stylesheet" href="../public/style/chatStyle.css"> <!-- É adicionado a biblioteca jquery e o fontAwesome --> <link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet"> <link href="../public/style/fontawesome/css/all.css" rel="stylesheet"> <script src="../public/js/jquery.min.js"></script> </head> <style> .test2 { cursor: pointer; } </style> <script> $(document).ready(function(){ var itens = "", url = "../includes/configs/chat.php", itens2 = ""; // Capturar dados usando Método AJAX do jquery $.ajax({ url: url, cache: false, dataType: "json", success: function(retorno){ for(var i = 0; i<retorno.length; i++){ itens += "<li>"; itens += "<a class='test2' onclick='function retornou(){$('.Tes22').html('wadwd')}'>"; itens += "<div class='imgUserList'>"; itens += "<div class='widthUserImg'>"; itens += "<div class='imgUserListD'><img src='https://avatars0.githubusercontent.com/u/3966553?s=460&v=4' alt=''></div>"; itens += "</div>"; itens += "<div class='textUserList'>"; itens += "<input type='text' class='pegarID' value='" + retorno[i].id + "'>"; itens += "<span class='title'>" + retorno[i].email + "</span>"; itens += "<h1 class='title'>Está online</h1>"; itens += "</div>"; itens += "</div>"; itens += "</a>"; itens += "</li>"; } $(".pessoas").html(itens); } }) }); </script> <body onload="carregarItens()"> <div class="container"> <div class="listaPessoas"> <div class="headerPeople title"> <h1>Contatos</h1> <h2 class="Tes22"></h2> </div> <ul class="pessoas"> <!-- <li> <a href=""> <div class="imgUserList"> <div class="widthUserImg"> <div class="imgUserListD"><img src="https://avatars0.githubusercontent.com/u/3966553?s=460&v=4" alt=""></div> </div> <div class="textUserList"> <span class="title">10.1.196.90</span> <h1 class="title">Está online</h1> </div> </div> </a> </li> --> </ul> </div> <div class="chat"> <div class="chatHeader"> <div class="title text"> <h1>james</h1> </div> <div class="menuUser title"> <i class="fas fa-ellipsis-h"></i> </div> </div> <div class="chatMessage"> </div> <div class="chattext"> <form action=""> <input type="text" id="modal"> <button><i class="fas fa-paper-plane"></i></button> </form> </div> </div> <div class="infoPessoas"> </div> </div> <script src="../public/js/chat.js"></script> </body> </html> Porém estou querendo pegar apenas o ID e colocar em um <h2> e não estou conseguindo.
      Exemplo: Ao clicar em um dado vindo do banco de dados como é listado acima eu colocar o ID dele no <h2>.
       
      Este é meus dados vindo do PHP já no json.
      echo json_encode($dados, JSON_PRETTY_PRINT);  
    • By jonathasouza
      Como posso criar uma query no php que não duplique varias vezes o valor?
       
      Gostaria de colocar apenas um valor desses por vez, e não a mesma coisa repetida.
       
        <?php
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      if(mysqli_connect_errno($conexao)){
      echo 'Failed to connecto to database'.mysqli_connect_error();}

      $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem");
      ?>

    • By albuquerque.paulo1992
      <!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>   <body>     <div class="row">         <div class="col-md-6">             <div class="form-group">                 <label><i class="fas fa-university"></i> Unidade</label require>                 <select type="text" name="unidade" class="form-control" id="unidade" onclick="formatar()">                     <option selected disabled>Escolha Unidade</option required>                     <?php                     include_once("conexao.php");                     $consult = "SELECT * FROM tb_unidades WHERE cnes ORDER BY nome_da_unidade";                     $consulta = mysqli_query($conn, $consult);                     while ($row_cat_post = mysqli_fetch_assoc($consulta)) {                         echo '<option value="' . $row_cat_post['nome_da_unidade'] . '"> ' . $row_cat_post['nome_da_unidade'] . '</option>';                     }                     ?>                 </select>             </div>         </div>         <div class="col-md-6">             <div class="form-group">                 <label><i class="fas fa-fingerprint"></i> CNES</label>                 <input type="text" name="cnes" class="form-control" id="cnes"                     placeholder="Cadastro Nacional de Estabelecimentos de Saúde">             </div>         </div>     </div> </body>   </html>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.