Ir para conteúdo
Fórum Script Brasil
  • 0

Palavras Mais Procuradas Em Um Sistema De Busca


dfonte

Pergunta

11 respostass a esta questão

Posts Recomendados

  • 0

Acho que se armazenar todas as palavras digitadas nas buscas em um arquivo.txt e separá-las por um caracter, dá pra fazer uma busca de quantas vezes a mesma palavra aparece no arquivo... depois criar uma rotina de ranking... Ixi! é um trabalhão.... agent podia tentar desenvolver isso por aqui...

Link para o comentário
Compartilhar em outros sites

  • 0

Bem ... nesse sentido você vai criar um arquivo.txt que receberá os valores digitados pelo usuário também, junto com sua consulta (busca). Daê você vai criar uma rotina de inclusão...

Vamos chamar o arquivo de palavraChave.txt.

<?
$palavra = $_POST["busca"]."\n"; // pegando o valor digitado e quebrando uma linha

$fp = fopen("palavraChave.txt",a);  // abrindo o arquivo
$escrever = fwrite($fp, $palavra); //  escrevendo o valor digitado

fclose($fp); // fechando o arquivo 
?>
Bem esse arquivo você vai incluir na página da pesquisa para cada vez que a busca for realizada, seja inserido os valores da busca no arquivo txt vo pensar +... ---- IH! Percebi que o array_count_values() retorna os valores e as posiçoes do array, mas não retorna por ordem de maior numero de valores... pelo que vi é aleatório... tipo:
$array = array(1,1,2,1,1,3,1,1);
var_dump(array_count_values($array));
/*
retorna assim
array(3){
  [2] => 1
  [3] => 1
  [1] => 6
}

*/

Se tivesse como retornar em ordem pela maior quantidade de repetições por valores, seria mais fácil....

Link para o comentário
Compartilhar em outros sites

  • 0

Se tivesse como retornar em ordem pela maior quantidade de repetições por valores, seria mais fácil....

Este problema é facil de ser resolvido, só utilizar o arsort() com flag SORT_NUMERIC:


$array = array_count_values(array(1,1,2,1,1,3,1,1));
arsort($array, SORT_NUMERIC);
$array = array_reverse($array);


var_dump($array);

Link para o comentário
Compartilhar em outros sites

  • 0

Então agora é só transformar o arquivo em um array...

<?php
$arquivo = file("palavraChave.txt");

$array = array_count_values($arquivo);
arsort($array, SORT_NUMERIC);

$array = array_reverse($array);

?>
E exibir as primeiras posições...
<?
echo "Os 5 Termos Mais Buscas São:<br>";

$retorno = array_slice($array,0,5);

foreach($retorno as $colocacao=>$valor){
       echo $colocacao."º Lugar  --> ."$valor."<br>\n";    
}
?>

Acho que isso resolve... o que acham??

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...