bcs_ptx 0 Denunciar post Postado Junho 10, 2011 fala raça...uma dúvida... eu tenho esse select na minha busca, mas acontece que eu quero colocar o seguinte, se o usuario for nivel 2 ele ve todos, se não ele ve só dois tipos, mas não consegui fazer essa junção, tipo assim if($SESSION['Usuarionivel'] == '2'){ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0'"; }else{ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0' AND status LIKE 'disponivel' OR LIKE 'indisponivel'"; } qual meu erro? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Deise Vicky 1 Denunciar post Postado Junho 10, 2011 fala raça...uma dúvida... eu tenho esse select na minha busca, mas acontece que eu quero colocar o seguinte, se o usuario for nivel 2 ele ve todos, se não ele ve só dois tipos, mas não consegui fazer essa junção, tipo assim if($SESSION['Usuarionivel'] == '2'){ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0'"; }else{ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0' AND status LIKE 'disponivel' OR LIKE 'indisponivel'"; } qual meu erro? Abraços Tenta o seguinte: if($SESSION['Usuarionivel'] == '2'){ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0'"; }else{ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0' AND (status LIKE '%disponivel%' OR status LIKE '%indisponivel%')"; } Acredito que o teu maior erro é não ter colocado o nome da Coluna "status" depois do OR e isso deve ser especificado, qual coluna deve ter o valor "indisponivel". Outra coisa: quando se usa o like é porque queremos procurar um registro que contenha aquela expressão. Onde você colocou "status LIKE 'disponivel'" poderia ser substituído por "status = 'disponivel', otimizaria sua consulta. Qualquer coisa posta aí! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 10, 2011 Usando AND e OR na mesma sentença separe sempre por parenteses para ter certeza da lógica requerida. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 10, 2011 Deu erro tambem... na linha 110 que é a linha <?php while($dados = mysql_fetch_array($busca_query)){ ?> if($_SESSION['UsuarioNivel'] == '2'){ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0'"; }else{ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0' AND (status LIKE '%disponivel%' OR status LIKE '%indisponivel%')"; } Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Arquivos de programas\EasyPHP5.3.0\www\teste_livros\codigo_pesquisa.php on line 110 Na real não sei oqe tinha dado aqui deu certo agora, tinha umas aspas voando sozinha por ali...Um abraço a todos e valeu pela a ajuda. código certo... if($_SESSION['UsuarioNivel'] == '2'){ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0"; }else{ $variavelconsulta = "SELECT * FROM teste_livros WHERE id > 0 AND (status = '%disponivel%' OR status = '%indisponivel%')"; } Compartilhar este post Link para o post Compartilhar em outros sites