Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

senhorvip

Como listar as palavras que mais se repetem em uma tabela do my

Recommended Posts

Galera, estou concluindo um site www.marmanjo.com

 

quero fazer uma lista (tipo nuvem de tag) de forma dinâmica.

 

Tenho lá a tabela TITULO no BD mysql, preciso listar todos os títulos e tratar da seguinte forma

 

ex:

 

tit [1] = meu carro é bonito

tit [2] = o joão tem um carro

tit [3] = eu sujei o carro da maria ontem

tit [4] = ontem bateram no carro do joão

 

o resultado que eu quero é esse:

carro (4) ontem (2) joão (2) bonito (1) .. etc ... etc

 

eu não faço a mínima idéia de como fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai ter que fazer um count ..

 

SELECT COUNT(*) FROM `titulo` WHERE ... sua clausula

 

depois pegar o resultado .. e botar em parenteses .. ex

 

$query = mysql_query("SELECT COUNT(*) FROM `titulo`");
$count = mysql_fetch_array($query);
print 'Carro('.$count[0].')';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce pode fazer o select normal e depois apenas contar as string's(a partir de um array que você vai criar) que também da certo

 

Exemplo:

<?php
 $string = "O cachorro fugiu da carrocinha para não virar cachorro morto"; // Frase normal
 $substr = "cachorro"; // Palavra que você quer contar na string
 echo ("A palavra $substr aparece "
   . substr_count($string, $substr) .
   " vezes na frase $string.<BR>" .
   "Mas entre a posição 10 e 60, a palavra " .
   "$substr aparece apenas " .
   substr_count ($string, $substr, 10, 50) . " vez."); // determinar uma posição para contar as palavras. entre o caracter 10 e + 50 no max

 // A palavra cachorro aparece 2 vezes na frase 
 // O cachorro fugiu da carrocinha para não virar cachorro morto.
 // Mas entre a posição 10 e 60, a palavra cachorro aparece apenas 1 vez.
?>

 

Fonte: Substring

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai ter que fazer um count ..

 

SELECT COUNT(*) FROM `titulo` WHERE ... sua clausula

 

depois pegar o resultado .. e botar em parenteses .. ex

 

$query = mysql_query("SELECT COUNT(*) FROM `titulo`");
$count = mysql_fetch_array($query);
print 'Carro('.$count[0].')';

 

 

Olá amigo, obrigado pela atenção, mas não é exatamente isso que eu quero.

 

veja mais ou menos como eu imagino fazer

 

<?
$SQL = "SELECT DISTINCT titulo FROM user ORDER BY titulo DESC";
$Lista = new Consulta($SQL,100,$PGATUAL);
if (db_linhas($Lista->consulta)>0) {
?>


<div>



<?
                   $i=0;
                   while ($linha = db_lista($Lista->consulta)) { $i++;
?>


<?=$linha['titulo'];?>,

           <?
               }
           ?>

       </div>
<?
}
?>

 

 

nesse caso eu consigo não repetir os títulos, mas eu quero apenas PALAVRAS.

 

quero fazer uma busca e listar na ordem de palavras mais usadas.

 

 

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.