Pesquisa interna php/mysql
|
18-11-2010, 15:17
Mensagem: #1
|
|||
|
|||
Pesquisa interna php/mysql
Ola
Comecei a trabalhar há pouco com php e estou a precisar de uma ajudinha... Tenho de criar um sistema de pesquisa interno para um site, que pesquise na base de dados (mysql). Tudo o que encontrei até agora na internet foi um sistema simples que apenas compara uma palavra exacta: Código PHP: $sql = “SELECT * FROM tabela WHERE campo LIKE ‘%”.$palavra.”%’”; Mas precisava de mais, entao fui pesquisando e criando um sistema que funciona como quero: Código PHP: //palavra ou frase inserida O problema é que com este código eu não consigo incluir paginação, que como são muitos registos é necessária. Se alguém me poder ajudar com a paginação ou se tiverem outra ideia para o código, agradeço |
|||
18-11-2010, 15:57
Mensagem: #2
|
|||
|
|||
RE: Pesquisa interna php/mysql
Boas,
Antes de mais, "limpa" (sanitize) as variáveis antes de as utilizares em queries, por exemplo: $sql = “SELECT * FROM tabela WHERE campo LIKE ‘%”.mysql_real_escape_string($palavra).”%’”; Segundo, para o que precisas, acho que o seguinte bastava: $sql = "SELECT * FROM tabela WHERE MATCH (campo1,campo2) AGAINST ('".mysql_real_escape_string($palavra)."' IN NATURAL LANGUAGE MODE"; E não precisavas de andar a tirar acentos nem a comparar o nível de semelhança. Para saberes o número de registos, utilizas o mysql_num_rows($query); como já fazes mais em cima. Se preferires continuar a utilizar o teu código, basta utilizares um contador para saberes o número de resultados totais e depois mostras apenas os necessários para a tua página, mas isso não é muito optimizado. BrunoBernardino.com |
|||
18-11-2010, 16:07
Mensagem: #3
|
|||
|
|||
RE: Pesquisa interna php/mysql
Vou utilizar a primeira opção, não conhecia e realmente torna tudo muito mais simples.
Obrigada |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 1 Visitante(s)