Probleme mit PhpPoll genauer mit "PieChart"(Php Script fuer Webumfragen)
Thorsten olscha
- php
Ich poste mein Problem in der Selfthtml Liste und schreibe es nicht direkt an den Autor, weil ich denke, dass das Script a) mehrere interessiert und b) das Problem bei mehreren autaucht(e).
PhpPoll funktioniert bei mir super und ist für Onlineumfragen sehr empfehlenswert, aber ich bekomme das Script "pieChart" nicht angezeigt.
Das Demo findet man unter:
http://www.phpwizard.net/phpPolls/demo.html
Für alle die PhpPoll sowie PieChart nicht kennen:
Ich glaube das Problem liegt im Aufrufen des Scriptes. Kann ich eine Php Function folgendermassen aufrufen?
<img src="pie.php3">
Und die Datei pie.php3 enthält dann folgende Function?
----Beginn Code------
<?
require( 'phpPollConfig.php3');
require( 'phpPollUI.php3');
function mydeg2rad ($degrees)
{
return ((3.14 * $degrees) / doubleval(180));
}
function get_xy_factors($degrees)
{
$x = cos(mydeg2rad($degrees));
$y = sin(mydeg2rad($degrees));
return (array($x, $y));
}
if(!isset($pollID))
$pollID = 1;
$res = poll_getResults($pollID);
$width = 100;
$height = 100;
$center_x = 50;
$center_y = 50;
$r = array(0, 60, 50, 140, 170);
$g = array(0, 60, 50, 140, 170);
$b = array(0, 160, 100, 200, 240);
$img = imageCreate($width + 120, $height);
$nr_options = count($res);
$angle_per_vote = 360 / $res[0][ "votes"];
$black = imageColorAllocate($img, 0, 0, 0);
$color = imageColorAllocate($img, 255, 255, 255);
imageFilledRectangle($img, 0, 0, $width + 120, $height - 1, $color);
imageColorTransparent($img, $color);
$start_angle = 0;
for($i = 1; $i < $nr_options; $i++)
{
$color = imageColorAllocate($img, $r[$i], $g[$i], $b[$i]);
$end_angle = $start_angle + ($res[$i][ "votes"] * $angle_per_vote);
imageArc($img, $center_x, $center_y, $width, $height, $start_angle, $end_angle, $color);
$axy2 = get_xy_factors($start_angle);
$ax2 = floor($center_x + ($axy2[0] * ($width / 2)) - 1);
$ay2 = floor($center_y + ($axy2[1] * ($height / 2)) - 1);
imageLine($img, $center_x, $center_y, $ax2, $ay2, $color);
$bxy2 = get_xy_factors($end_angle);
$bx2 = ceil($center_x + ($bxy2[0] * ($width / 2)) - 1);
$by2 = ceil($center_y + ($bxy2[1] * ($height / 2)) - 1);
imageLine($img, $center_x, $center_y, $bx2, $by2, $color);
$xy2 = get_xy_factors((($end_angle - $start_angle) / 2) + $start_angle);
$x2 = floor($center_x + ($xy2[0] * ($width / 3)));
$y2 = floor($center_y + ($xy2[1] * ($height /3)));
imageFillToBorder($img, $x2, $y2, $color, $color);
imageFilledRectangle($img, $width + 10, $height - $i * $height / $nr_options, $width + 17, $height - $i * $height / $nr_options + 7, $color);
imageString($img, 2, $width + 23, $height - $i * $height / $nr_options - 3, $res[$i][ "text"], $black);
$start_angle = $end_angle;
}
header( "Content-type: image/gif");
imageGIF($img);
?>
----Ende Code------
Hinweis: GD 1.6 ist installiert
hi,
Ich poste mein Problem in der Selfthtml Liste und schreibe es nicht direkt an den Autor,
ich werde wohl ein SCNR druntersetzen muessen, weil es nicht zu Deinem Problem gehoert.
Dieses Forum ist dafuer da, dass Fragen wie Deine hier gestellt werden. Es lebt sogar davon
und wuerde ohne gar nicht existieren.
Stefan hingegen ist kein Supportmensch fuer Jedermann (deshalb gibt es wohl auch dieses Froum;-).
Wenn Du oder irgendeiner dieser Leser hier eine Frage hat, sollte er es erst hier im Forum versuchen
und nur wenn es notwendig ist (persoenliche Fragen etc.), eine Mail an Stefan schicken.
Um mich wieder beliebt zu machen hier noch zwei Links zu PHP_Foren
http://www.analogon.com/php/forum/index.php3,
http://www.php3-forum.de/forum.htm.
MfG
Jan Lehnardt
PS: Ich hoffe, das war irgendwie in stefans Sinn ;-)
Thorsten,
Ich glaube das Problem liegt im Aufrufen des Scriptes. Kann ich eine Php Function folgendermassen aufrufen?
<img src="pie.php3">
da muß man zweierlei überprüfen:
1. welche Endung hat die HTML-Datei, in der dieser Aufruf steckt? Wenn der Server auch HTML in Richtung PHP parst, dann ok, ansonsten sollte diese Datei eine PHP-konforme Endung haben
2. ich glaube nicht, daß eine PHP-Datei als SRC eines Image funktioniert ;)
in HTML werden doch PHP-Direktiven mit <? .... ?> gekennzeichnet, das ist hier nicht der Fall
also schau da mal nach.
im PHP-Manual gibt es sicherlich ausreichend Hinweise zum Aufruf eines Scriptes, mir ist dieser Weg sehr sehr fremd. Hast du dir das ausgedacht oder ist das so im Beispielscript vorgesehen? Steht im README des Scriptes nichts, wie man es einbinden kann?
in der PHP-Mailingliste bekommst du sicherlich auch Hinweise: http://infosoc.uni-koeln.de/mailman/listinfo/php
Gruss
Connie
Hi!
<img src="pie.php3">
dieser Aufruf ist schon korrekt (das php-script schickt dir ja ein gif) und kann in einer html-Datei stehen.
Warum das script nicht funktioniert kann ich leider nicht sagen.
mfG
BRAND
mein kleiner Test mit php-gifs:
http://tk152102.tuwien.teleweb.at/tmp/bart.html