Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
GALERA ESTOU TENTANDO FAZER ISSO ABAIXO
$regiao_combo = $_POST["regiao_p"];
$regiao_descon = explode(",", $regiao_combo);
$cont = count($regiao_descon);
$contador = 0;
foreach($regiao_descon as $s => $valor){ //se não quer a chave pode usar só ($instArray as $valor)
echo $contador;
if($valor != ''){
if($contador === 1)$regiao_tratada .= "AND (t1.NM_REGIAO = '".$valor."'";
if($contador >= 2) $or .= "OR t1.NM_REGIAO = '".$valor."' ";
}
$contador ++;
}
$regiao_tratada .= " $or)";
eu tenho um select multiple , gostaria que se for selecionado 1 elemento ele monte a query apenas com AND (t1.NM_REGIAO ='valor')
agora se vier mais de 1 gostaria de fazer um or AND (t1.NM_REGIAO='valor' OR t1.NM_REGIAO='valor' OR t1.NM_REGIAO='valor')
mas nao estou conseguindo, eu estou carregando outro combobox com essa query via JQUERY
$('#uf').load('control/c_relatorio03.php?tipo=combo_uf',{regiao_p:regiao});
alguem pode me dar uma força ?
Galera eu consegui mas achei meu codigo muito extenso tem um jeito de melhorar??
$regiao_combo = $_POST["regiao_p"];
$regiao_descon = explode(",", $regiao_combo);
$cont = count($regiao_descon);
$regiao_tratada_or = " AND (";
$contador = 0;
foreach($regiao_descon as $s => $valor){
if($contador >= 1)$or = "OR";
if($valor != ''){
if($cont === 2)$regiao_tratada .= " AND (t1.NM_REGIAO = '".$valor."'";
if($cont > 2)$regiao_tratada_or .= "$or t1.NM_REGIAO = '".$valor."' ";
}
$contador ++;
}
$regiao_tratada .= ")";
$regiao_tratada_or .= ")";
$sql_query .= "SELECT DISTINCT t1.NM_ESTADO
FROM TB_MIDEA01_PDV t1
INNER JOIN TB_MIDEA01 t2 ON t2.NM_CNPJ = t1.NM_CNPJ
WHERE t2.ST_REGISTRO =1";
if($cont === 2) $sql_query .= $regiao_tratada;
if($cont > 2) $sql_query .= $regiao_tratada_or;
$sql_query .= "ORDER BY t1.NM_ESTADO ASC";Carregando comentários...