18-11-2010, 15:17
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:
Mas precisava de mais, entao fui pesquisando e criando um sistema que funciona como quero:
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
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
$palavra=$_GET['palavra'];
//sem acentos
$palavranova = strtr($palavra, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ", "aaaaeeiooouucAAAAEEIOOOUUC");
//vai buscar à base de dados todos os nomes para comparar com a palavra inserida
$sql="SELECT*FROM tabela ";
$query=mysql_query ($sql);
$num = mysql_num_rows($query);
for($i = 0; $i < $num; $i++){
$nome=@mysql_result($query, $i, "nome");
//tira os acentos
$nomenovo = strtr($nome, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ", "aaaaeeiooouucAAAAEEIOOOUUC");
//percentagem de digitos iguais no nome
$caracteresiguais= similar_text($nomenovo, $palavranova);
$numerocaracteres= strlen ($nomenovo);
$divisao= $caracteresiguais/$numerocaracteres;
$percentagem= $divisao * "100";
//verifica se alguma das palavras está incluida
$pos=stristr($nomenovo, $palavranova);
//escolhe os resultados
if ($percentagem > "60") {
print $nome;
}else if ($pos){
Print $nome;
}
}
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