Hallo, habe folgendes vor:
Tagcloud erstellt durch die schon in joomla com_search integrierten logSearch function.
Also logsearch speichert die suchanfragen mit anzahl der anfragen in die DB unter #_core_log_searches.
Ein Tagcloud script welches ich im Internet fand soll nun die meistgesuchten suchanfragen in einer Tagcloud darstellen.
Hab es leider selbst nicht hinbekommen, vielleicht kann mir ja jemand helfen.
Hier ist mein versuch des Tagcloud Scripts:
Obiges funktioniert so leider nicht und ich hab auch keine Ahnung wie man das mit den "hits" regelt. Also das ordnen der suchanfragen nach der häufigkeit.
Hier nochmal das Original Tagcloud script:
Wie man sieht habe ich nicht viel Ahnung von PHP, hoffe mir kann da geholfen werden.
danke
Tagcloud erstellt durch die schon in joomla com_search integrierten logSearch function.
Also logsearch speichert die suchanfragen mit anzahl der anfragen in die DB unter #_core_log_searches.
Ein Tagcloud script welches ich im Internet fand soll nun die meistgesuchten suchanfragen in einer Tagcloud darstellen.
Hab es leider selbst nicht hinbekommen, vielleicht kann mir ja jemand helfen.
Hier ist mein versuch des Tagcloud Scripts:
$abfrage = "SELECT search_term FROM #_core_log_searches";
$result = mysql_query($abfrage);
while ($row = mysql_fetch_array ($result))
{
$data[] = $row['search_term'];
}
$data = implode('',$data);
// Woerter splitten
$words = preg_split("/n/", $data);
$acv = array_count_values( $words );
// Nicht erwuenschte Woerter loeschen
$bannedwords = array('');
$i = 0;
foreach($acv as $k=>$v) {
if (!array_search(strtolower($k),$bannedwords) and eregi("[a-zA-Z]",$k) and $i<=40 and strlen($k)>2) {
if (isset($new_acv[strtolower($k)] ))
$new_acv[strtolower($k)] += $v;
else
$new_acv[strtolower($k)] = $v;
$i++;
}
}
// Alphabetisch sortieren
ksort( $new_acv );
// Clouds erstellen
foreach( $new_acv as $k=>$v) {
$size = $v*1;
$weight = $v*4;
if ($size > 4) $size = 4;
if ($weight > 50) $weight = 50;
$kurl = urlencode("$k");
echo "<a href=\"suche.php?q=$kurl\" style=\"font-size: {$size}em; font-weight: {$weight}\">$k</a> ";
}
$result = mysql_query($abfrage);
while ($row = mysql_fetch_array ($result))
{
$data[] = $row['search_term'];
}
$data = implode('',$data);
// Woerter splitten
$words = preg_split("/n/", $data);
$acv = array_count_values( $words );
// Nicht erwuenschte Woerter loeschen
$bannedwords = array('');
$i = 0;
foreach($acv as $k=>$v) {
if (!array_search(strtolower($k),$bannedwords) and eregi("[a-zA-Z]",$k) and $i<=40 and strlen($k)>2) {
if (isset($new_acv[strtolower($k)] ))
$new_acv[strtolower($k)] += $v;
else
$new_acv[strtolower($k)] = $v;
$i++;
}
}
// Alphabetisch sortieren
ksort( $new_acv );
// Clouds erstellen
foreach( $new_acv as $k=>$v) {
$size = $v*1;
$weight = $v*4;
if ($size > 4) $size = 4;
if ($weight > 50) $weight = 50;
$kurl = urlencode("$k");
echo "<a href=\"suche.php?q=$kurl\" style=\"font-size: {$size}em; font-weight: {$weight}\">$k</a> ";
}
Hier nochmal das Original Tagcloud script:
$abfrage = "SELECT interessen, interessen2, interessen3 FROM tabelle";
$result = mysql_query($abfrage);
while ($row = mysql_fetch_array ($result))
{
$data[] = $row['interessen']."n".$row['interessen2']."n".$row['interessen3'];
}
$data = implode('',$data);
// Woerter splitten
$words = preg_split("/n/", $data);
$acv = array_count_values( $words );
// Nicht erwuenschte Woerter loeschen
$bannedwords = array('');
$i = 0;
foreach($acv as $k=>$v) {
if (!array_search(strtolower($k),$bannedwords) and eregi("[a-zA-Z]",$k) and $i<=40 and strlen($k)>2) {
if (isset($new_acv[strtolower($k)] ))
$new_acv[strtolower($k)] += $v;
else
$new_acv[strtolower($k)] = $v;
$i++;
}
}
// Alphabetisch sortieren
ksort( $new_acv );
// Clouds erstellen
foreach( $new_acv as $k=>$v) {
$size = $v*1;
$weight = $v*4;
if ($size > 4) $size = 4;
if ($weight > 50) $weight = 50;
$kurl = urlencode("$k");
echo "<a href=\"suche.php?q=$kurl\" style=\"font-size: {$size}em; font-weight: {$weight}\">$k</a> ";
}
$result = mysql_query($abfrage);
while ($row = mysql_fetch_array ($result))
{
$data[] = $row['interessen']."n".$row['interessen2']."n".$row['interessen3'];
}
$data = implode('',$data);
// Woerter splitten
$words = preg_split("/n/", $data);
$acv = array_count_values( $words );
// Nicht erwuenschte Woerter loeschen
$bannedwords = array('');
$i = 0;
foreach($acv as $k=>$v) {
if (!array_search(strtolower($k),$bannedwords) and eregi("[a-zA-Z]",$k) and $i<=40 and strlen($k)>2) {
if (isset($new_acv[strtolower($k)] ))
$new_acv[strtolower($k)] += $v;
else
$new_acv[strtolower($k)] = $v;
$i++;
}
}
// Alphabetisch sortieren
ksort( $new_acv );
// Clouds erstellen
foreach( $new_acv as $k=>$v) {
$size = $v*1;
$weight = $v*4;
if ($size > 4) $size = 4;
if ($weight > 50) $weight = 50;
$kurl = urlencode("$k");
echo "<a href=\"suche.php?q=$kurl\" style=\"font-size: {$size}em; font-weight: {$weight}\">$k</a> ";
}
danke
Kommentar