Jump to content
JurisCode

SELECT dentro de um FOREACH imprimindo apenas a última string da array. Como fazer para imprimir todos?

Recommended Posts

OLÁ A TODOS, Boa tarde. Preciso de ajuda com o seguinte script.

 

eu tenho uma array que é a seguinte:

 

array (size=7)
  0 => string 'gu' (length=2)
  1 => string 'tr' (length=2)
  2 => string 'fr' (length=2)
  3 => string 'ip' (length=2)
  4 => string 'al' (length=2)
  5 => string 'po' (length=2)
  6 => string 'xa' (length=2)

Cada string da array de duas letra é a abreviatura de uma cidade; eu quero fazer uma pesquisa na base da dados para cada sigla dessa para ver qual a cidade correspondente. Como vai ser necessariamente um resultado apenas, eu tive que usar o foreach.

 

Tipo

foreach($array as $variavel);
        {
        $busca = $conn->query("SELECT * FROM tabela WHERE sigla = '$variavel'");
        $resultado = $busca->fetch_assoc();
        echo ' - '. $resultado['significado_da_sigla'];

        }
}

Não está funcionando perfeitamente, mas imprime apenas o último resultado.

 

Eu já tentei uma variável para ir acumulando o resultado, tipo

 

if (empty('$resultado_busca')) {
    $resultado_busca = $resultado['significado_da_sigla'];
    }
    else {
    $resultado_busca = $resultado_busca . ' - ' . $resultado['significado_da_sigla'];
    }

ou seja, se a variável foi vazia (da primeira vez), então vai criar uma variável com o primeiro resultado, se a variável já existir (das outras vezes), então a variável vai ser igual à variavel anteriormente criado adicionando um traço e o próximo resultado.

 

E depois, em vez de imprimir a variável com fetch_assoc $resultado['significado_da_sigla'] eu imprimiria a variável &resultado_busca, que em cada ciclo iria acumulando os resultados, mas também não está funcionando, essa não imprime nada na tela.

 

Alguém pode dar uma ajuda?

 

OBRIGADO, DESDE JÁ

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 DinhoPHP
      Olá!
      Alguém pode me dar uma luz sobre fazer um ORDER BY, hora ASC ou hora DESC? Por favor! Estou utilizando PHP e JS no projeto.
       
      $pegadados = $pdo->prepare("SELECT * FROM produtos WHERE categoria LIKE '%$dataSearch%' OR marca LIKE '%$dataSearch%' OR produto LIKE '%$dataSearch%' OR modelo LIKE '%$dataSearch%' OR descricao LIKE '%$dataSearch%' ORDER BY $filter $filter2");
    • By eduardodsilvaq
      function efetuarLogin ($x, $y) { $connect = db_connect(); $queryl = $connect->query("SELECT * FROM usuarios WHERE login = ". $x ." AND senha = " . $y . " "); if ($queryl->rowCount() == 0) { echo $x; echo $y; echo "<script>alert('Dados de Login incorretos.'); history.back();</script>"; exit; } else { setcookie("login",$x); header("Location:index.php"); exit; } } Esse código tem algum erro nessa linha:
      $queryl = $connect->query("SELECT * FROM usuarios WHERE login = ". $x ." AND senha = " . $y . " "); Nao consigo validar o login mesmo que os dados estejam corretos. Alguém da uma ajuda? 
       
    • By Pedro_silva
      Olá Pessoal Estou com uma dificuldade de como eu vou fazer esse sistema.
       
      Eu tenho que receber vários dados via POST enviado do formulário mais eu não sei como eu vou fazer para receber.
      esse codigo vai mostrar para o usuario os dados que estão dentro do mysql
       
      <?php
                          while($linha = mysqli_fetch_array($consultar)){
                          echo '<tr>';
                          echo '<th>';
                          echo $linha['Numero_patrimonio'];
                          echo '</th>';
                          echo '<th>';
                          echo $linha['tipo'];
                          echo '</th>';
                          echo '<th>';
                          echo $linha['marca'];
                          echo '</th>';
                              
                              //$gera = rand(1,100);
                              // echo"$gera";
                              ?>
                                                      
                              <td><input type="checkbox" name=""></td>
                              
                              </tr>
                              <?php
                          
                              }
                          ?>            
       
      Eu criei um  input dentro do while para que ele fosse criado para cada tabela que fosse aparecendo, eu pensei em colocar dentro de name um echo com o resultado do rand mas assim eu acho que seria difícil porque eu não sei se o post pegar os dados mandados sem a pessoa declarar ai eu resolvi tirar e deixar como comentário.
       
      Eu quero saber se eu uso um array dentro do name e que o post possa interpretar qual valor é 
    • By eduardaarosaa
      Olá, Estou tentando enviar um formulário com 4 arquivos, porém não estou tendo sucesso.
      Estou usando laravel 5.8. Tenho uma view com 5 campos, sendo 4 arquivos e 1 texto. Através das rotas caminho o form para o controller. 
       
       


    • By manoaj
      Boa tarde pessoal!
      Criei um sistema simples pra web utilizando PHP no backand.
      Mas agora antes do lançamento do sistema surgiu a necessidade de um app de consulta a esse sistema com funções básicas da plataforma Web, ou seja nem todas as funcionalidades serão implementadas no app agora no início.
      Qual a minha melhor alternativa no desenvolvimento híbrido hj em questão de agilidade no desenvolvimento considerando que minha plataforma web e o banco de dados mysql já estão prontos???
×

Important Information

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