Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal.
Estava programando e travei na seguinte parte:
Preciso pesquisar os Tratores que tenho cadastrador no meu sistema.
Esta pesquisa se deve através do formulário que contém os seguintes campos:
Pesquisar pelo nº de série
Pesquisar pelo Modelo
Pesquisar pela Marca
Pequisar pelo Ano
Pesquisar pela Revisão
na minha função getTrator, eu recebo como parâmetro cada uma dessas informações digitadas pelo usuário, e utilizo-as para montar minha condição e passar para a classe DAO montar a query.
Beleza..tudo funcionando.
Porém, me deparei com um problema utilizando o seguinte código para a função
function getTrator($n_serie,$modelo,$marca,$ano,$revisao) { // Pego os parâmetros
if($n_serie OR $modelo OR $marca OR $ano OR $revisao){
$con = "AND"; // Se existir esses parâmetros (Se tiverem sido digitado pelo user),
}else{ // eu concateno cada uma delas com um "AND" para montar a query.
$con = ""; // Se não tiverem sido digitadas, não uso "AND".
}
$condicao = $n_serie.$con.$modelo.$con.$marca.$con.$ano.$con.$revisao; // Monto a condição
return $this->db->select($this->nomeTable,$condicao); //Envio para o DAO.
Beleza.
Porém, isso só funciona quando eu dou o select em duas ocasiões:
A ) Quando eu digito TODOS os campos
B ) Quando eu não digito nenhum campo
Quando eu digito apenas alguns campos, existe um erro de sintaxe SQL, algo como
SELECT * FROM tratores WHERE n_serie=12587951 AND AND AND AND
Alguém tem alguma idéia de como resolver?
Att;
Carregando comentários...