Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 135

Duvida sobre select

12-08-2014 18:07

Estou com várias variáveis para verificar se existe no banco de dados, e depois retornar o resultado:

Exemplo:

SELECT * FROM anuncios WHERE id='$id' AND nome='$nome' AND valor='$valor' AND STATUS='$status'

Gostaria que quando uma variável não tiver valor ou for igual a zero ela não aparecesse no select, isso sem que fosse usado o IF()

Tipo, se no formulário fosse enviado a variável $nome vazio ou igual a zero, então o select ficaria automaticamente:

SELECT * FROM anuncios WHERE id='$id' AND valor='$valor' AND STATUS='$status'

E assim por diante. Sem o uso do IF()
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Duvida sobre select

12-08-2014 19:44

Seria uma consulta condicionada, como nesse exemplo

<?php $v1 = ""; $v2 = ""; if(isset($_GET['valor1'])) { $v1 = " AND valor1='{$_GET['valor1']}' "; } if(isset($_GET['valor2'])) { $v2 = " AND valor2='{$_GET['valor2']}' "; } echo "SELECT * FROM tabela WHERE coluna='tal' {$v1} {$v2}"; ?>

?valor1=ab&valor2=cd

Resultado:

SELECT * FROM tabela WHERE coluna='tal' AND valor1='ab' AND valor2='cd'

O ideal é ter um anti injection para proteger os dados que são usados na consulta.
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Duvida sobre select

12-08-2014 19:46

Seria uma consulta condicionada, como nesse exemplo

<?php $v1 = ""; $v2 = ""; if(isset($_GET['valor1'])) { $v1 = " AND valor1='{$_GET['valor1']}' "; } if(isset($_GET['valor2'])) { $v2 = " AND valor2='{$_GET['valor2']}' "; } echo "SELECT * FROM tabela WHERE coluna='tal' {$v1} {$v2}"; ?>

?valor1=ab&valor2=cd

Resultado

SELECT * FROM tabela WHERE coluna='tal' AND valor1='ab' AND valor2='cd'

O ideal também é proteger os dados que vão para query com um script de anti-injection.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado