Danke für's Vorbeischauen.
Hier mein Problem in Kürze: ich kann in meiner MySQL-Datenbank die Länder auslesen, aus denen meine Website-Besucher kommen. Diese Ergebnisse lasse ich mir mit einer While-Schleife anzeigen (siehe: http://Navis.TerraRomana.org, dort "Demographic Data, Country Stats).
Nur verursacht ein Programmierfehler meinerseits, daß die letzte Gruppe von Ländern mehrfach angezeigt wird. Ich selbst bin zwar kreativ und habe bereits viel versucht, aber irgendwie kann ich den Fehler nicht korrigieren.
Sorry wenn der Code lang ist, aber dies dient der Vollständigkeit und Übersicht:
Ich bitte normalerweise auch nicht so bereitwillig um Programmierbeistand, jetzt aber tue ich es. Wer kann sich meinen Code anschauen und mir die Lösung zeigen? Vielen Dank für Zeit, Absicht, Mühe und Hilfe! Grüße,
Sven
Hier mein Problem in Kürze: ich kann in meiner MySQL-Datenbank die Länder auslesen, aus denen meine Website-Besucher kommen. Diese Ergebnisse lasse ich mir mit einer While-Schleife anzeigen (siehe: http://Navis.TerraRomana.org, dort "Demographic Data, Country Stats).
Nur verursacht ein Programmierfehler meinerseits, daß die letzte Gruppe von Ländern mehrfach angezeigt wird. Ich selbst bin zwar kreativ und habe bereits viel versucht, aber irgendwie kann ich den Fehler nicht korrigieren.
Sorry wenn der Code lang ist, aber dies dient der Vollständigkeit und Übersicht:
PHP-Code:
$GesamtZahl=0;
$GesamtzahlLaender=0;
include("../Remus/#DbConn.php5");
$Befehl="Select `Country`, COUNT(*) as `Amount` ". // Länderstatistik
"from `FNR_Visitors` ".
"group by `Country` ".
"order by `Amount` desc";
$Anfrage=@mysql_query($Befehl,$Verbindung);
while($Datensatz=@mysql_fetch_assoc($Anfrage))
{
$GesamtZahl=$GesamtZahl+$Datensatz["Amount"];
$GesamtzahlLaender++;
}
$Restbestand=$GesamtzahlLaender;
$ZehnerRunde=0; // 10 Runden
$ZahlenBisJetzt=0; // abgehandelte Besucherzahlen
$Gruppe=1; // 10er-Gruppennummer
$Befehl="Select `Country`, COUNT(*) as `Amount` ". // Länderstatistik
"from `FNR_Visitors` ".
"group by `Country` ".
"order by `Amount` desc";
$Anfrage=@mysql_query($Befehl,$Verbindung);
while($Datensatz=@mysql_fetch_assoc($Anfrage))
{
$ZehnLaender[]=$Datensatz["Country"];
$ZehnZahlen[]=$Datensatz["Amount"];
$ZahlenBisJetzt=$ZahlenBisJetzt+$Datensatz["Amount"];
$ZehnerRunde++;
if($ZehnerRunde==10||$Restbestand<10) // 10er-Grafik voll
{
if($Restbestand>=10) { $ZehnLaender[]="(Group ".($Gruppe+1).")"; }
if($Restbestand>=10) { $ZehnZahlen[]=$GesamtZahl-$ZahlenBisJetzt; }
$Titel="Countries audiencing FNR, Group ".$Gruppe;
$Daten=array_reverse($ZehnZahlen);
$graph=new PieGraph(500,250,"auto");
$graph->SetShadow();
$graph->title->Set($Titel);
$graph->title->SetFont(FF_FONT1,FS_BOLD,18);
$graph->title->SetColor("black");
$graph->subtitle->Set("(".Datum(time(now)).")");
$graph->legend->Pos(0.025,0.15);
$graph->img->SetAntiAliasing();
$p1=new PiePlot3d($Daten);
$p1->SetTheme("sand");
$p1->SetCenter(0.35);
$p1->SetSize(110);
$p1->SetAngle(45);
$p1->SetStartAngle(0);
$p1->ShowBorder(false);
$p1->value->SetColor("black");
$p1->SetLegends($ZehnLaender);
$graph->Add($p1);
$graph->Stroke("../v/Deco/Data".$Gruppe.".jpg");
$Grafik="<a href=\"../v/Deco/Data".$Gruppe.".jpg\" target=\"Page\" border=\"0\">".
"<img src=\"../v/Deco/Data".$Gruppe.".jpg?=".time(now)."\" width=\"500\" height=\"250\" border=\"0\" ".
"alt=\"Group ".$Gruppe."\" title=\"Group ".$Gruppe."\">".
"</a>
";
if($Gruppe>1)
{
$News2.="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"730\" height=\"10\" class=\"Contents\">\n".
"<tr>\n".
"<td width=\"730\" align=\"left\" valign=\"top\">\n".
"</td>\n".
"</tr>\n".
"</table>\n";
}
$News2.="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"730\" class=\"Contents\">\n".
"<tr>\n".
"<td width=\"500\" align=\"left\" valign=\"top\">\n".
$Grafik."\n".
"</td>\n".
"<td width=\"10\" align=\"left\" valign=\"top\">\n".
"</td>\n".
"<td width=\"40\" align=\"right\" valign=\"top\">\n".
"[b]Visits[/b]
".implode("x
",$ZehnZahlen)."x".
"</td>\n".
"<td width=\"10\" align=\"left\" valign=\"top\">\n".
"</td>\n".
"<td width=\"170\" align=\"left\" valign=\"top\">\n".
"[b]from Country[/b]
".implode("
",$ZehnLaender).
"</td>\n".
"</tr>\n".
"</table>\n";
if($Restbestand>=10) $Gruppe++;
if($Restbestand>=10) $ZehnLaender="";
if($Restbestand>=10) $ZehnZahlen="";
if($Restbestand>=10) $ZehnerRunde=0;
if($Restbestand>=10) $Restbestand=$Restbestand-10;
}
}
include("../Remus/#DbClose.php5");
Sven
Kommentar