QUOTE (pangu @ Mi 14.2.2007, 19:40) wie kann man das script so erweitern, dass z.b. nur die häufigsten 100 tags ausgelesen werden:
gibt es dafür irgendeine mysqlfunktion um gleich dort performance zu sparen?
Das Fettgedruckte musst du ändern.
CODE $abfrage = "SELECT tag1, tag2, tag3 FROM tabelle";
$result = mysql_query($abfrage);
while ($row = mysql_fetch_array ($result))
{
$data[] = $row['tag1']."\n".$row['tag2']."\n".$row['tag3'];
}
$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<=[B]40[/B] 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>&nbsp;&nbsp;\n";
}
Über Mysql kannst du es nicht machen. Da du alle Tags auslesen musst und das Script die häufigsten raus sucht.
MFG
Florian