Leandromx 0 Denunciar post Postado Outubro 11, 2008 Bom dia Pessoal, Seguinte, estou fazendo asssim.... Listando os produtos que estão com status liberado. E na mesma query uso para fazer buscar através de um POST (ops através do GET hehe) "SELECT * FROM produtos WHERE nome LIKE '%".$_GET['busca']."%' OR cod LIKE '%".$_GET['busca']."%' AND status='liberado' ORDER BY nome ASC O único problema é que está trazendo os produtos que estão com Liberado e Bloqueado não está filtrando só os liberados... Se eu tirar o LIKE e deixar somente WHERE status='liberado' ele funciona... Alguma solução para isso? nunca aconteceu comigo.. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 Tente: "SELECT * FROM produtos WHERE nome LIKE '%{$_GET['busca']}%' OR cod LIKE '%{$_GET['busca']}%' AND status='liberado' ORDER BY nome ASC Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Outubro 11, 2008 Estranho ainda aparecer os bloqueados... Só seu tirar o LIKE e deixar o status='liberado' ai dar certo.. a impressão que dá é um conflito... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 o campo COD armazena o que ? Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Outubro 11, 2008 Código esta com VARCHAR porque código pode ser número ou letra eu fiz assim.. a pessoa procurar pelo nome ou código do produto Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 Tua consulta não está errada... estranho coloque isso na página: print_r($_GET); e cole aqui o resultado. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Outubro 11, 2008 Deu isso aqui Array ( ) 1 Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 ou seja, não está chegando dado algum pelo modo GET se tivesse chegando a busca seria realizada... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Outubro 11, 2008 Então Alaerte é aqui que acho estranho... Porque é listado todos os produtos normalmente... Sem nenhum erro... a única condição que eu preciso é que apareça somente os produtos que estão com status='liberado' saca? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 Leandro, você quer que apareça os dados de acordo o que foi selecionado em algum link correto ? de onde vem esse $_GET['busca'] ? você não está confundindo não ? não seria $_POST ? veja, fiz um script aqui e funcionou perfeitamente: tabela: [b]busca[/b] cod = 1 nome = alaerte dados= teste status=liberado ----------------- cod=2 nome=gabriel dados=teste2 status=off script: if(isset($_GET['nome'])){ $b=mysql_query("SELECT * FROM busca WHERE nome LIKE '%{$_GET['nome']}%' OR cod LIKE '%{$_GET['nome']}%' AND status='liberado'")or die(mysql_error($con)); while($v=mysql_fetch_array($b)){ print $v[0]; print $v[1]; print $v[2]; } }else{ print '<a href="?nome=1">Exibir dados pelo cod</a>'; print '<a href="?nome=alaerte">Exibir dados pelo nome</a>' } Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Outubro 11, 2008 Então lá em cima eu tinha colocado POST mas depois editei o topico para GET( que é o correto agora) Então é assim deixa eu ver se consigo explicar... Resolvendo um problema o resto eu mato tudo... vamos esquecer tudo isso que conversarmos acima... Meu sistema funciona normal, só preciso que ele não mostra os produtos que estão com status bloqueado ( e isso não está fazendo ) é assim: Eu tenho um campo busca que irá para a página busca.php method GET <form id="form1" name="form1" method="get" action="busca.php"> <div style="float:left; width:150px;margin-top:5px"> <input name="busca" type="text" id="busca" size="18" value="Nome ou codigo do produto" onClick="this.value=''" /> </div> <div style="float:left;margin-left:5px; width:30px;height:21px;margin-top:6px"> <input type="image" src="imgs/bt_ok.jpg" name="button" id="bt_busca" /> </div> </form> Ai na página busca.php coloquei a query que você passou mysql_select_db($database_rsCon, $rsCon); $query_rsListaProdutos = "SELECT * FROM produtos WHERE nome LIKE '%{$_GET['busca']}%' OR cod LIKE '%{$_GET['busca']}%' AND status='liberado' ORDER BY nome ASC"; Ao fazer a busca ele me trás todos os produtos da busca.... Até OS PRODUTO QUE ESTÃO COM STATUS BLOQUEADOS. A única coisa que eu preciso é que não me mostre os produtos com Status Bloqueados.. Mesmo eu usando isso daqui AND status='liberado' Ele ME MOSTRA OS PRODUTOS BLOQUEADOS. Se eu usar minha query assim $query_rsListaProdutos = "SELECT * FROM produtos WHERE status='liberado' ORDER BY nome ASC"; Ai sim ele funciona só aparecerá os produtos LIBERADOS mas se eu usar junto com LIKE parace que o sistema não lê AND status='liberado' Esse é meu problema...Ele está mostrando TUDO LIBERADO E BLOQUEADO Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 mais ai é que ta, eu testei aqui igual o seu sistema, e só me mostrou os que estão como liberado... o registro que está como OFF que é o segundo não me aparece... é realmente estranho, posta aqui a screen de algum registro visualizando pelo phpmyadmin pra eu ver uma cosa. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Outubro 11, 2008 doidera isso Segue Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 11, 2008 vamos fazer o seguinte, troque o campo status para ENUM e os valores '1','2' 1 = liberado 2 = bloqueado além do mais como numérico processa mais rápido... Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Outubro 11, 2008 Não se esqueça de tratar o $_GET, anti-injection. Compartilhar este post Link para o post Compartilhar em outros sites