KamehamehaX10
Banned
- Registriert
- Mai 2012
- Beiträge
- 575
Ich habe mich jetzt aus Langeweile mal erstmalig an eine PHP-Kleinigkeit gesetzt. Komme eigentlich aus dem Bereich der Anwendungsentwicklung und habe mir ein bisschen was zusammengebastelt, weil ich einige Daten, die von einem Sourcemod-Plugin in eine Datenbank geschrieben werden, gerne über den Browser aufbereitet abrufen möchte.
Das Ergebnis sieht momentan leider so aus:
Die Textausgaben sind beabsichtigt (verzweifeltes Debugging).
Verzweifelt, weil ich nicht weiß, was da falsch sein soll. Erstens wird das komplett überschossen, dann gibt es bei beiden Achsen keine Captions, keinen Titel, gar nichts.
Laut Sample (http://naku.dohcrew.com/libchart/pages/samplecode/) sollte das doch sehr geschmeidig gehen. Fehler im Apache Log gibt es keine, und die Debugausgaben sind auch alle korrekt. oO
Bin für jede Hilfe dankbar!

Code:
<html><head><title><?php echo "Playtime chart";?></title></head>
<body>
<?php
//Includes
include "include/libchart.php";
//Create connection /var/run/mysqld/mysqld.sock
$con = mysqli_connect("localhost","bla","dsjfhsd","foo");
//Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
if($result = mysqli_query($con, "SELECT Playtime FROM Playtimes"))
{
$playtimeBars = array("<100", "<200", "<300", "<400", "<500",
"<600", "<700", "<800", "<900", "<1000",
"<1100", "<1200", "<1300", "<1400", "<1500",
"<1600", "<1700", "<1800", "<1900", "<2000",
"<2100", "<2200", "<2300", "<2400", "<2500",
"2500<=");
$playtimeValues = array(0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0);
$chart = new VerticalBarChart(1200, 600);
while($row = mysqli_fetch_array($result))
{
$playtime = $row['Playtime'];
$index = floor($playtime / 100);
if($index > 25)
{
$index = 25;
}
$playtimeValues[$index]++;
}
$dataSet = new XYDataSet();
for ($i = 0; $i <= 25; $i++)
{
$dataSet->addPoint(new Point($playtimeBars[$i], $playtimeValues[$i]));
echo $playtimeBars[$i] . ": " . $playtimeValues[$i];
}
$chart->setDataSet($dataSet);
$result = mysqli_query($con, "SELECT avg(Playtime), stddev(Playtime), count(Playtime) from Playtimes");
if($row = mysqli_fetch_array($result))
{
$chart->setTitle("Total entries: " . $row[2] . " Average playtime: " . $row[0] . " Standard deviation: " . $row[1]);
$chart->render("generated/chart.png");
echo "Rendered chart!";
echo "Total entries: " . $row[2] . " Average playtime: " . $row[0] . " Standard deviation: " . $row[1];
}
else
{
echo "Error querying database: " . mysqli_error($con);
}
}
else
{
echo "Error querying database: " . mysqli_error($con);
}
}
mysqli_close($con);
?>
<div>
<img src="generated/chart.png" alt="Chart"/>
</div>
</body>
</html>
Das Ergebnis sieht momentan leider so aus:
Die Textausgaben sind beabsichtigt (verzweifeltes Debugging).
Verzweifelt, weil ich nicht weiß, was da falsch sein soll. Erstens wird das komplett überschossen, dann gibt es bei beiden Achsen keine Captions, keinen Titel, gar nichts.
Laut Sample (http://naku.dohcrew.com/libchart/pages/samplecode/) sollte das doch sehr geschmeidig gehen. Fehler im Apache Log gibt es keine, und die Debugausgaben sind auch alle korrekt. oO
Bin für jede Hilfe dankbar!
Zuletzt bearbeitet:
