Newton 0 Denunciar post Postado Abril 19, 2010 Gostaria de saber como posso fazer para que o resultado da busca seje especifico em um campo da tabela? Por exemplo: Quando a pessoa digitar "São Paulo", não apareça todas as empresas da cidade de São Paulo, e sim as empresas que tem no nome as palavras São ou Paulo. Pois se o usuário digitar São Paulo, no meu caso, ele irá retornar o resultado com tudo que tem São Paulo, quero filtrar isso. No meu caso, seria com o campo na tabela chamado "tb_name", quero que os resultados de busca sejam buscados nesse campo. Compartilhar este post Link para o post Compartilhar em outros sites
vagnerC 0 Denunciar post Postado Abril 19, 2010 Pesquisa Full-text no MySQL: http://dev.mysql.com/doc/refman/4.1/pt/fulltext-search.html Compartilhar este post Link para o post Compartilhar em outros sites
cwbdesgin 0 Denunciar post Postado Abril 20, 2010 eu estava vendo isso, na query do mysql use o comando LIKE que tipo seria "parecido" "contem" entende? meio que $qr = "SELECT * FROM tabela WHERE linha LIKE '%$_GET[]%' "; seria +/- isso, de uma pesquisada fiz meio por cima, espero ter ajudade :D Compartilhar este post Link para o post Compartilhar em outros sites
vagnerC 0 Denunciar post Postado Abril 20, 2010 Se ele usar: LIKE '%São Paulo%' O resultado será: registros com o termo São Paulo ou com qualquer coisa antes ou qualquer coisa depois. Mas não encontrará São Jose dos Campos, São João del Rei, Paulo Ramos como ele quer. Por isso que é interessante usar Pesquisa Full-text, um exemplo: SELECT * FROM tb_name WHERE MATCH(campo) AGAINST ('+são +paulo' IN BOOLEAN MODE); Compartilhar este post Link para o post Compartilhar em outros sites
ezequiellorenzatti 0 Denunciar post Postado Abril 20, 2010 Para fazer essa busca, a string deve ser tratada pelo php ou pode ser tradatada pelo Mysql, alguém pode dar um exemplo ? SELECT * FROM tb_name WHERE MATCH(campo) AGAINST ('+são +paulo' IN BOOLEAN MODE); Compartilhar este post Link para o post Compartilhar em outros sites
vagnerC 0 Denunciar post Postado Abril 20, 2010 PHP: $qual_palavra = "São Paulo" $qual_palavra = str_replace(" ", " +", $qual_palavra); $qual_palavra = "+".$qual_palavra; SELECT * FROM tb_name WHERE MATCH(campo) AGAINST ('$qual_palavra' IN BOOLEAN MODE); Compartilhar este post Link para o post Compartilhar em outros sites
cwbdesgin 0 Denunciar post Postado Abril 22, 2010 Opa vagnerC, não sabia dessa função, me ajudou ^^ vivendo e aprendendo :D Compartilhar este post Link para o post Compartilhar em outros sites
Newton 0 Denunciar post Postado Abril 29, 2010 Olá. Tentei fazer aqui e não deu nada certo, e estou com medo de fazer alguma coisa errad e detonar meu código. Vou postar aqui o codigo que esta fazendo a busca: <?php require_once('../Connections/search_db.php'); ?> <?php $colname_rs83 = "-1"; if (isset($_GET['title'])) { $colname_rs83 = (get_magic_quotes_gpc()) ? $_GET['title'] : addslashes($_GET['title']); } mysql_select_db($database_search_db, $search_db); $query_rs83 = sprintf("SELECT * FROM table1 WHERE tb_name LIKE '%%%s%%' OR tb_desc LIKE '%%%s%%' ", $colname_rs83,$colname_rs83); $rs83 = mysql_query($query_rs83, $search_db) or die(mysql_error()); $row_rs83 = mysql_fetch_assoc($rs83); $totalRows_rs83 = mysql_num_rows($rs83); ?> No caso eu tenho os seguintes campos na minha tabela: tb_id, tb_name, tb_desc, tb_img, tb_www e categoria. Gostaria que a busca só exibisse os resultados do campo categoria. Compartilhar este post Link para o post Compartilhar em outros sites