Script Problem (Tagcloud intregieren in Joomla)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Script Problem (Tagcloud intregieren in Joomla)

    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:
    $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> ";
    }
    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:
    $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> ";
    }
    Wie man sieht habe ich nicht viel Ahnung von PHP, hoffe mir kann da geholfen werden.

    danke

  • #2
    *move* nach Projekthilfe

    Kommentar

    Lädt...
    X