Gerar links com palavras-chave a partir do banco de dados

  • Autor Autor darkterry
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
D

darkterry

Gamma
No recomendado
hola amigos betas estube haciendo un sistema de tag cloud pero la verdad es que se me complico un poco los codigos.

quiero que desde mi abse de datos llame la cadena.

emjemplo:

videos gratis, juegos gratis, vicio gratis, videos mas, mas videos, asi lo tengo en mi db de un campo


ahora quiero que eso se muestre asi:

videos gratis juegos gratis vicio gratis videos mas mas videos.

hasta ahi lo eh logrado pero el problema es esto:


cuando hago la consulta me sale:
videos gratis juegos gratis vicio gratis videos mas mas videos

perfecto pero cada palabra se genera un enlace es decir

<a href="">videos</a> <a href="">gratis</a> <a href="">juegos</a>

y asi con todas las palabras y lo que yo quiero es que cada , se respete y se genere un enlace asi

<a href="">videos gratis</a> <a href="">juegos gratis</a> <a href="">vicio gratis</a>


espero me hayan entendido espero sus respuestas mil gracias por la ayuda.

aqui les dejo el codigo si es que es util para alguien asi como esta y si alguien me puede ayudar con esto seria genial gracias:




$raw_tag=explode(",", trim($row3['clave']));
for($kl=0;$kl<count($raw_tag);$kl++)
{
$strr=$raw_tag[$kl];


$strr=str_replace("*","",$strr);
$strr=str_replace("-","",$strr);
$strr=str_replace("(","",$strr);
$strr=str_replace(")","",$strr);
$strb=str_replace("","",$strr);
$strb=str_replace("ñ","n",$strr);
if(strlen($strb)>3)//word length to avoid listing words like "and" "of" etc
{

$tag_string.=$strr." ";
}
}
}
$tag_array=explode(" ", $tag_string);
$tag_array=array_unique($tag_array);
shuffle($tag_array);
echo "<div id=\"tagcloud\">";

$tplm=count($tag_array);
if(count($tag_array)>50)
{
$tplm=50;//I want to list only 200 words
}
// start looping through the tags

for ($ii=0;$ii<$tplm;$ii++)
{
$tags_array[$ii]=$tag_array[$ii];
}
sort($tags_array);
for ($ii=0;$ii<$tplm;$ii++)
{
// determine the popularity of this term as a percentage
$percent = rand(1,100);
// determine the class for this term based on the percentage
if ($percent < 40)
{
$class = 'smallest';
} elseif ($percent >= 20 and $percent < 40) {
$class = 'small';
} elseif ($percent >= 40 and $percent < 60) {
$class = 'medium';
} elseif ($percent >= 60 and $percent < 80) {
$class = 'large';
} else {
$class = 'largest';
}

// output this term
echo "<span class=\"$class\"><a href=\"search.php?query=" . urlencode($tags_array[$ii]) . "\">" . $tags_array[$ii] . "</a></span> ";
}

// close the output
echo "</div><p>";
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Aver campeón, vamos por la lógica

Lo primero que tienes que hacer, es obtener los cambos de la base de datos en una sola cadena

Inserir CODE, HTML ou PHP:
$tags='videos gratis, juegos gratis, vicio gratis, videos mas, mas videos'

Luego, vectorizarla con explode en base a la coma

Inserir CODE, HTML ou PHP:
$tags[]=('videos gratis', 'juegos gratis', 'vicio gratis', 'videos mas', 'mas videos');

Luego, realizas una cuenta de los items que tiene el vector

Inserir CODE, HTML ou PHP:
$cantidad=count($tags);

Creas un ciclo que a ti te acomode y lo imprimes, el más simple "for"

Inserir CODE, HTML ou PHP:
for ($i=0;$i<=$cantidad;$i++)
{
echo '<a href="">'.$tags[$i].'</a>';

}

Eso sería todo =)
 
Voltar
Topo