Ir para conteúdo

Arquivado

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

OpsRJ

Select

Recommended Posts

Pessoal, eu fiz uma página onde a pessoa poderá estipular vários filtros ou apenas um para fazer uma filtragem dos resultados. So que se eu escolher mais de um filtro, os resultados mostrados não estao vindo de acordo com os filtros. Agora se eu informar apenas 1 filtro, o resultado esta vindo certinho. Alguém poderia me ajudar a resolver este problema?

 

$sql = "SELECT * FROM Licencas WHERE lic_deletada = 'N' ";	    if($cliente <> "") {	  $sql .= "AND lic_nomecliente like '".$cliente."%' ";  }  elseif($tipo <> "") {	  $sql .= "AND lic_tipo = '".$tipo."' ";  }  elseif($produto <> "") {	  $sql .= "AND lic_produto = '".$produto."' ";  }  $sql.= "LIMIT $start,$end";    $res = $db->Execute($sql);

Grato,

Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae Adriano, beleza? Fiz do jeito que você sugeriu...

 

$auxwheresql = array();		if($cliente <> "") {		$auxwheresql[] = "lic_nomecliente like '{$cliente}%'";	}	if($tipo <> "") {		$auxwheresql[] = "lic_tipo = {$tipo}";	}	if($produto <> "") {		$auxwheresql[] = "lic_produto = {$produto}";	}		$sql = "SELECT * FROM Licencas";		if(count($auxwheresql)) {		$sql .= " WHERE ". join(" AND ", $auxwheresql);	}	$sql.= "lic_deletada = 'N'";	$sql.= " LIMIT $start,$end";

So que mesmo que eu preencha os campo do form, ele nao esta fazendo a filtragem, esta trazendo todos os dados da base. Sabe o que pode ser?

 

T+

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.