Hallo iSorgenfrei, vielen Danke für dein Beispielscript, hatte die ganze Zeit leider keine Zeit mich mit dem Thema zu befassen,
deswegen die verspätete Antwort. Jetzt hatte ich mehr Zeit und habe auch dein Scriptbeispiel mal ausprobiert, mich dann
aber doch für eine andere Lösung entschieden.
Da ich sehr lange im Netz nach Tipps, Hinweisen und Lösungen gesucht hatte, die ich für meine Anforderungen brauchte
aber leider nicht fand. Möchte ich, falls jemand anderes auch nach einer Lösung sucht, mein Ergebnis noch darstellen.
Zur Erinnerung:
Ich wollte Suchbegriffe (von Google Anfragen) in einer Wortwolke visualisieren.
Die Begriffe stehen in einer Datenbank (als $stichworte), die Häufigkeit der
Verwendung dieser Begriffe hat ein Feld ($val).
Jetzt sollen Sie über eine Datenbankabfrage ausgelesen werden, was für mich auch kein Problem war.
- Code: Select all
// Ausgabe außerhalb der Schleife
echo "<fieldset id=\"tagcloud\"><legend>Top Suchbegriffe:</legend>";
/***********************/
/* Datenbankverbindung */
/***********************/
$serverid = @mysql_connect("127.0.0.1", "root", "");
mysql_select_db("test")
or die("Die Datenbank ist zur Zeit nicht erreichbar!");
/*****************************/
/* Abfrage der DB */
/*****************************/
$abfrage = " SELECT * FROM `tagcloud` ORDER BY id ASC LIMIT 0 , 20 ";
$result = mysql_query($abfrage);
while($row=mysql_fetch_assoc($result)) {
//Der Suchbegriff
$stichworte = $row['stichworte'];
// der Wert des Suchbegriffes
$val = $row['val'];
// ausgabe des Links
$c .= '<a target="_blank" href="http://www.google.de/search?q=site:'.$Domain.' '.urldecode($row['stichworte']).'" class="'.$cssClass.'" title="Suchbegriffe zur Website: '.$row['stichworte'].'" onfocus="if(this.blur)this.blur()" >'.$row['stichworte'].",</a> \n";
}
echo $c;
echo"</fieldset>";
// ... Auszug, php Script ende...
Die Gestaltung der Stichworte im TagCloud wollte ich über CSS realisieren.
Damit hatte ich Probs, hatte einfach ne Denkblockade, weiß auch nicht ob man es hätte anders Lösen
können, für Hinweise und Tipps, bin ich sehr dankbar.
In der oben beschriebenen Abfrageschleife kommt noch die CSS Abstufung:
- Code: Select all
// es sollen 9 css Abstufungen geben
$cssValue= round($val/9*100);
for ($i=0;$i<$cssValue;$i++)
{
if($i>=5){
$classValue=1;
}
if($i>=18){
$classValue=2;
}
if($i>=27){
$classValue=3;
}
if($i>=36){
$classValue=4;
}
if($i>=45){
$classValue=5;
}
if($i>=54){
$classValue=6;
}
if($i>=60){
$classValue=7;
}
if($i>=70){
$classValue=8;
}
if($i>=90){
$classValue=9;
}
}
// css string zusammengesetzt
$cssClass='tag'.$classValue;
Das CSS ist extern:
- Code: Select all
.tag9 { font-size: 34px; color: #1B5E8D;}
bis...
.tag1 { font-size: 12px; color: #86BCE2;}
Da ich hier immer nur Auszugsweise das Script darstellen wollte, um hier nicht ein zu langes Script reinstellen zu müssen,
ermüdet die Augen (grins), hoffe ich, dass beim kopieren alles wesentliche mitkam und es so noch gut verständlich ist.
Bei der For-Schleife, habe ich mir da ganze wie eine Prozent Scala (von 100 bis 10) vorgestellt.
Es später dann doch visuell nach der Ausgabe (im HTML) überprüft und nachkorrigiert. So in etwa.
mo