Ir para conteúdo

POWERED BY:

Arquivado

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

bcs_ptx

where + like

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.