Consulta no MySQL com PHP

Galera queria saber se é possível em php fazer uma consulta no banco com cláusula “where” em que a variável seria um array(vetor) de “N” posições, ficaria mais ou menos assim:

//Variável array
$nome = array();
$nome[] = array("Mauricio","Carlos","Erika");

//Consulta no banco
"SELECT nomeFuncionario from tbFuncionario WHERE nomeFuncionario='$nome'";

O que eu quero que aconteça é que esse WHERE verifique todos os dados da variável $nome e traga os nomes que forem iguais ao do array.

Infelizmente não estou perto do computador e estou digitando pelo celular então não consigo enviar o código para vocês darem uma olhada, mas se alguém tiver um exemplo de como fazer eu estou aceitando

Att. Mauricio Dantas

Cuidado com isso:

$nome = array(); //vetor
$nome[] = array("Mauricio","Carlos","Erika"); //ja virou matriz

O comportamento pode mudar dependendo do que vc precisa, melhor fazer assim de uma vez:

$nome = array("Mauricio","Carlos","Erika"); //vetor

Quanto ao where, no seu caso use implode:

$nomes = implode("','", $nome); //observe as aspas simples no meio!

"...WHERE nome IN ('$nomes')"; //observe aspas simples novamente!

Algo nesse sentido, vai brincando pra aprender…

Detalhe, se precisar de like ai não tem jeito vai ter de usar for + or no sql…

Eu ainda estou fora de casa, quando chegar testo e vejo o resultado

Então mano testei aqui funciono, o seu exemplo funciono que é uma beleza mas agora eu tenho que montar uma array com base nas Opções selecionadas pelo usuário, por que eu queria testar primeiro com um array “físico” que montei, agora me pego na duvida de como montar um array com dados via POST de uma select option com atributo multiple

A primeira coisa é mudar o name do select por exemplo:

<select name="especialidades[]">...

Com colchetes vazio, muita atenção a isso

No post basta:

$especialidades = $_POST['especialidades']; //sem colchetes
var_dump($especialidades); //veja o que retorna

A parir dai vc vai brincando, boa sorte!

1 curtida

Aaaa poxa muito bacana esse recurso!!
Então quando eu faço isso minha variável se torna um array?

Usando colchetes sim, significa pro php que vc vai mandar “mais daqueles valores”, isso vale pra qualquer tipo de elemento de formulario, input, select, textarea e file e pra pegar cada valor individualmente use foreach

foreach ($especialidades as $item) {
    echo $item, '<br>';
}

Só pra ver ele “separado”, mas como vc precisa de um array inteiro pra usar no where, já sabe o caminho, sucesso!

1 curtida

Eu testei aqui com o select option, usando tudo o que você me mostrou e funcionou que é uma beleza, realmente muito obrigado cara você me ajudou a meio que termina meu tcc com isso :heart:

1 curtida

Poderia me explicar o que é implode?

http://php.net/manual/pt_BR/function.implode.php

Vai se acostumando sempre olhar a documentação

1 curtida

Assim valeu irmão!!