Hallo,
kann mir jemand helfen das Script dynamisch zu gestalten?
Als Hintergrundinfo: Die Daten die ausgewertet werden sollen stammen aus einer DB bzw werden durch eine Umfrage mit mehreren Fragen erst in die DB eingetragen. Das Ergebis was dann aus der Entstehenden Umfrage sich ergibt sieht dann folgendermassen in der DB aus, ":3:2:1 usw" da ich nie immer genau weiss wie viele es dann am Ende sind, und es ja mehrere Antworten immer gibt :-). Die Auswertung die dann entstehen soll, ist auf jede Frage bezogen.
Wäre dankbar wenn es ne Lösung gäbe.
Gruß
Martin
<?
include "config.php";
switch ($bild){
case ('1');
$handle = mysql_connect($db_hostname, $db_user, $db_user_pw);
mysql_select_db($db_name,$handle);
$r = mysql_query("SELECT * FROM umfrage",$handle);
if($r){
$dr = mysql_fetch_array($r);
$anz = mysql_num_rows($r);
$fr11 = 0;
$fr12 = 0;
$fr13 = 0;
while($row=mysql_fetch_array($r)){
$wert = $row['Frage1'];
if($wert == 1) { $fr11++; }
if($wert == 2) { $fr12++; }
if($wert == 3) { $fr13++; } }//echo " Anzahl: $anz";
$breite = 400;//Breite bestimmern
$hoehe = 300;//Höhe bestimmen
$im = @ImageCreate($breite,$hoehe);//Bild erstellen lassen
$weiss = ImageColorAllocate ($im, 255, 255, 255);//Hintergrundfarbe bestimmen
$schwarz = ImageColorAllocate ($im, 0, 0, 0);//Balkenfarbe
ImageFilledRectangle($im,0,0,$breite, $hoehe, $weiss);
$data = array ("1"=>"$fr11","2"=>"$fr12","3"=>"$fr13");
$maxwert = max($data);
$hoehefakt = ($hoehe-10) / $maxwert;
$block = $breite / count($data);
$abstand = $block / 10;
$z=0;
foreach($data as $umfrage => $we)
{
$z++;
$farbe = ImageColorAllocate ($im, ($we/$maxwert*250)-50,100,0);
$startx = $abstand + ($block * ($z-1));
$starty = $hoehe - ($we * $hoehefakt);
$endx = ($block * $z)-$abstand;
$endy = $hoehe;
ImageFilledRectangle($im,$startx,$starty,$endx,$endy,$farbe);
ImageTTFText ($im,12,45,($block*($z-1))+$block/4,$hoehe-$abstand,$schwarz,"arial.ttf","$umfrage");
ImageTTFText ($im,10,45,($block*($z-1))+$block/1.8,$hoehe-$abstand,$schwarz,"arial.ttf","$we");
}
ImageRectangle($im,0,0,$breite-1,$hoehe-1,$schwarz);
Header ("Content-type: image/png");
ImagePNG ($im);
ImageDestroy($im);
}
mysql_free_result($r);
break;
}
?>