Ir para conteúdo

POWERED BY:

Arquivado

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

brunovt

[Resolvido] busca com array

Recommended Posts

tenho um formulário de busca com um select multiple, onde é possivel escolher apenas uma opção

no sql a seleção fica sim.

 

if ($_GET[opcao] != "") { $SQL .= " AND tabela.campo='" . $_GET['opcao'] . "'"; }

 

 

agora estou mudando no formulário, para um grupo de chechbox onde é possivel escolher varias opçãos,

 

como seleciono na busca?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esou tentando assim

 

foreach($_GET["opcao"] as $opcao)

{

$opcaoes.= "- " . $opcao. "<BR>";

$SQL .= " AND TABELA='" . $opcaoes. "'";

}

 

 

mas esta dando erro

 

mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

Compartilhar este post


Link para o post
Compartilhar em outros sites


foreach($_GET["opcao"] as $opcao)

{

$valores .= implode(",", $opcao);

}

 

/* Fora do Foreach */

$SQL .= "AND TABELA IN ('$valores')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

os valores são pegos de forma correta, pois se colo

 

echo $opcoes aparece todoas a opções escolhidas

 

o problema continua na seleção ainda

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

Compartilhar este post


Link para o post
Compartilhar em outros sites

para pegar os valores do formulario

 

foreach($_GET["bairro"] as $opcaobairro)

{

$bairros .= $opcaobairro . ", ";

}

 

 

na seleção da busca

$SQL .= "AND BAIRRO IN ('$bairros')";

 

parece que é uma questão de acertar as aspas e virgulas ,

 

pois se coloca

echo $bairros;

exibe os valores escolhidos corretamente

 

e se coloco os valores manualmente na seleção, a busca funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

foreach($_GET["bairro"] as $opcaobairro)
{
   $bairros = implode(', ', $opcaobairro);
}


na seleção da busca
$SQL .= "AND BAIRRO IN ('$bairros')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eitah

 

foreach($_GET["bairro"] as $opcaobairro)
{
   $bairros .= $opcaobairro . ", ";
}


$bairros2 = substr($bairros, 0, strlen($bairros) -1); // para tirar a ultima virgula

$SQL .= "AND BAIRRO IN ('$bairros2')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza resolvido

 

só fiz os seguintes ajustes

 

colocando as aspas e tirando dois caracteres, um espaço em branco e utlima virgula.

ai funcionou.

 

$bairros .= "'" . $opcaobairro . "', ";

$bairros2 = substr($bairros, 0, strlen($bairros) -2); // para tirar a ultima virgula

 

valeu

abraço

 

 

 

Eitah

 

foreach($_GET["bairro"] as $opcaobairro)
{
   $bairros .= $opcaobairro . ", ";
}


$bairros2 = substr($bairros, 0, strlen($bairros) -1); // para tirar a ultima virgula

$SQL .= "AND BAIRRO IN ('$bairros2')";

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.