OpsRJ 0 Denunciar post Postado Abril 27, 2006 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
OpsRJ 0 Denunciar post Postado Abril 27, 2006 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
OpsRJ 0 Denunciar post Postado Abril 27, 2006 Pode deixar, ja resolvi. Valeu :D http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Eduardo Compartilhar este post Link para o post Compartilhar em outros sites