Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) tag-cloud, tagging, tags, wordwolke (edit)
Seiten: (2) 1 [2]  ( Neuster Beitrag anzeigen )
Reply to this topicStart new topicStart Poll
> [php] Tag-Cloud Script
pangu
Geschrieben am: Fr 26.01.2007, 21:23
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005


hm, eigendlich hab ich pro feld nur einen eintrag:
http://img236.imageshack.us/img236/9567/tagsrs6.png ?


--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
 
Florian
suchpad media
#22 Geschrieben am: Fr 26.01.2007, 23:12 (+01:49)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Moderatoren
Beiträge: 894
Mitglied seit: 6.12.2003


Normalerweise müsste es mit folgendem Code funktionieren:
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<=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>&nbsp;&nbsp;\n";
}


Du musst natürlich noch den Tabellennamen ändern und eine Verbindung mit Mysql herstellen.

MFG
Florian


--------------------
Top
PMEmail PosterUsers Website
Top
 
pangu
#23 Geschrieben am: Sa 27.01.2007, 03:39 (+04:26)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005


yep jetzt geht's, vielen dank.. smile.gif


--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Florian
suchpad media
#24 Geschrieben am: Sa 27.01.2007, 22:21 (+18:41)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Moderatoren
Beiträge: 894
Mitglied seit: 6.12.2003


QUOTE (pangu @ Sa 27.1.2007, 3:39)
yep jetzt geht's, vielen dank.. smile.gif

Kann man eine Demo auch sehen (URL) ?

MFG
Florian


--------------------
Top
PMEmail PosterUsers Website
Top
 
pangu
#25 Geschrieben am: Sa 27.01.2007, 23:59 (+01:38)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005


QUOTE (Florian @ Sa 27.1.2007, 23:21)
Kann man eine Demo auch sehen (URL) ?

MFG
Florian

bisher leider noch nicht, weil das noch nicht online ist, dauert noch etwas ..
(programmiere/teste alles auf lokalen XAMPPserver)

mfg
martin


--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
pangu
#26 Geschrieben am: Mi 14.02.2007, 19:40 (+17d 19:41)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005


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?


--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Florian
suchpad media
#27 Geschrieben am: Mi 14.02.2007, 20:24 (+00:43)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Moderatoren
Beiträge: 894
Mitglied seit: 6.12.2003


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


--------------------
Top
PMEmail PosterUsers Website
Top
 
pangu
#28 Geschrieben am: Mi 14.02.2007, 20:27 (+00:02)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005


ok, thx

..aber dauert das dann (bei richtig großen datenbanken) dann nicht ewig zum auslesen?


--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Florian
suchpad media
#29 Geschrieben am: Mi 14.02.2007, 21:30 (+01:02)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Moderatoren
Beiträge: 894
Mitglied seit: 6.12.2003


QUOTE (pangu @ Mi 14.2.2007, 20:27)
ok, thx

..aber dauert das dann (bei richtig großen datenbanken) dann nicht ewig zum auslesen?

Du kannst es ja in einem txt-file zwischenspeichern (Cache).

MFG
Florian


--------------------
Top
PMEmail PosterUsers Website
Top
 
pangu
#30 Geschrieben am: Mi 14.02.2007, 21:37 (+00:07)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005


ok, aber dann müsste ich es per cronjob alle x-stunden/tage auslesen lassen. hm, praktischer / schöner wäre natürlich eine lösung in echtzeit, werd mich mal durchgoogeln..
weiß jmd. wie es die großen portale machen?


--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/13370

Topic Options Seiten: (2) 1 [2]  Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Welches Script verwende ich hier? selfbusiness 157 3 Mo 17.11.2008, 00:33
[AJAX] Script für Beziehungsdarstellung gesucht TSc 148 5 Mi 29.10.2008, 21:35
fewos24.info / fewotipp.eu und Script Japs 109 0 Di 21.10.2008, 14:17
Suche Sponsor-Netzwerk-Script Unitedhost.org 144 1 Mo 20.10.2008, 11:23
[S] Script - Passwordgeschützter Downloadbereich HPI-Service 193 4 Mo 13.10.2008, 13:44
Neues Script : PHP-Melody - Musik Video CMS SCript masterxm 205 5 So 5.10.2008, 13:42
[S] Kleines Produkte DB Script Stefu 168 4 Mi 1.10.2008, 19:51
Logout Script meliger 855 13 Mi 1.10.2008, 09:56
[S] Script: frag-einen-anwalt webix 187 0 Sa 27.09.2008, 00:49
Lösung für: Content Slider-Java Script-PHP-MySql Antoine Johannes 294 2 Fr 26.09.2008, 12:54




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]