* @param string $campo Nome do campo na tabela * @param string/array $valores Possíveis valores para o campo * @param string $booleano Pode ser OR ou AND * @param string $wildcard_esq "Coringa" que ficará do lado esquerdo de cada valor * @param string $wildcard_dir "Coringa" que ficará do lado direito de cada valor * @return string Retorna os dados formatados ou 1, caso nenhum valor seja * passado */ function retornaSQLBoleana($campo, $valores, $booleano, $wildcard_esq = '', $wildcard_dir = '') { $sql = array(); if (is_array($valores)) { for ($i=0; $i0) ? "(".implode(" $booleano ", $sql).")" : "1"; } // Exemplos de utilização: // Se vierem de um campo texto, várias palavras, você pode criar este array dando um explode nos espaços $valor = array("Silvano", "João", "Luiz"); $campo = "nome"; // No formulário você pode fazer com que o booleano seja setado por um radiobox, por exemplo: // // $booleano = "OR"; echo "Com :".$booleano."
"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano); echo "

"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano, "%"); echo "

"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano, "", "%"); echo "

"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano, "%", "%"); echo "

"; $booleano = "AND"; echo "

"; echo "Com: ".$booleano."
"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano); echo "

"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano, "%"); echo "

"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano, "", "%"); echo "

"; echo "SELECT * FROM tabela WHERE ".retornaSQLBoleana($campo, $valor, $booleano, "%", "%");