Ir para conteúdo

POWERED BY:

Arquivado

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

danielswater

concatenação de query

Recommended Posts

opa pessoal beleza?

seguinte,alguem sabe uma forma de se concatenar query com varios AND , OR, AND (OR , OR) ?

pq eu to montando um sistema que vai criando uma query conforme a pessoa vai clicando nos checkbox, e essa query e executada em tempo real

 

alguem tem uma função ou solução pra fazer esse tipo de trampo

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

so para exemplificar como a query esta sendo gerada

 

select `item`.`it-codigo`,`item`.`descricao-1`,`grup_estoque`.`grupo`,`grup_estoque`.`ge-codigo`,`familia`.`fm`,`fam_comerc`.`descricao` from item,grup_estoque,familia,fam_comerc where `item`.`fm-cod-com` = 01010001 AND (`familia`.`fm-codigo` = 10 OR `familia`.`fm-codigo` = 10) OR `familia`.`fm-codigo` = 10)

 

 

no caso dessa query ai ta assim:

 

 

else if(count($id) == 1 && count($fam) > 1 && count($est) == 1){
    $sql = "select `item`.`it-codigo`,`item`.`descricao-1`,`grup_estoque`.`grupo`,`grup_estoque`.`ge-codigo`,`familia`.`fm`,`fam_comerc`.`descricao` from item,grup_estoque,familia,fam_comerc where `item`.`fm-cod-com` = {$id[0]} AND (`familia`.`fm-codigo` = {$fam[0]} ";
    
    for($i = 0; $i < count($fam); $i++){
        $or = " OR `familia`.`fm-codigo` = {$fam[$i]}";
        $sql .= $or . ")";
        //echo $sql;
    }    
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara usa IN(), e caso os checkbox estirem sendo passado como array usa implode pra juntar tudo. EX:

 

pagina envia.php

<form action="recebe.php" method="post">
<input type="checkbox" name="idProduto[]" value="1">Produto 1
<input type="checkbox" name="idProduto[]" value="2">Produto 2
<input type="checkbox" name="idProduto[]" value="3">Produto 3
<form>

 

pagina recebe.php

 

 

$ids = implode(',',$_POST['idProduto']);
$sql = "SELECT * FROM produtos WHERE id IN($ids)";

 

 

Te aconselho a validar os campos usando array_filter.

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.