0
데이터베이스가 맞다 :막 대형 차트 코드가 작동하지 않는 이유는 무엇입니까?
DATABASE `poll`; TABLE `results` CREATE TABLE `results` (
book_type VARCHAR(50),
num_votes INT
);
INSERT INTO `results` values
('Classic', 15),
('Fantasy', 7),
('Humor', 32),
('Mystery', 12),
('Poetry', 25);
코드는 오류가 표시
<?php
$dbhandle = mysql_connect("localhost","root","123") or die("unable to connect to mysql");
$selected = mysql_select_db("poll",$dbhandle);
$result = mysql_query("SELECT * FROM results");
$num_poller = mysql_num_rows($result);
$total_votes = 0;
while($row = mysql_fetch_array($result)){
$total_votes += $row{'num_votes'};
}
mysql_data_seek($result,0);
mysql_close($dbhandle);
putenv('GDFONTPATH=C:\WINDOWS\Fonts');
$font = 'arial';
$y = 50;
$width =700;
$bar_height =20;
$height = $num_poller * $bar_height *1.5 + 70;
$bar_unit = ($width - 400)/100;
$image = imagecreate($width,$height);
$white = imagecolorallocate($image,255,255,255);
$black = imagecolorallocate($image,0,0,0);
$red = imagecolorallocate($image,255,0,0);
$blue = imagecolorallocate($image,0,0,255);
imagefill($image,$width,$height,$white);
imagerectangle($image,0,0,$width-1,$height-1,$black);
imagettftext($image,16,0,$width/3+50,$y-20,$black,$font,'poll results');
while($row = mysql_fetch_object($result)){
if($total_votes > 0){
$percent = intval(round(($row->num_votes/$total_votes)*100));
}else{
$percent =0;
}
imagettftext($image,12,0,10, $y+($bar_height/2), $black, $font, $row->book_type);
//Output percentage for a particular value
imagettftext($image, 12, 0, 170, $y + ($bar_height/2),$red,$font,$percent.'%');
$bar_length = $percent * $bar_unit;
//Draw a shape that corresponds to 100%
imagerectangle($image, $bar_length+221, $y-2, (220+(100*$bar_unit)), $y+$bar_height, $black);
//Output a bar for a particular value
imagefilledrectangle($image,220,$y-2,220+$bar_length, $y+$bar_height, $blue);
//Output the number of votes
imagettftext($image, 12, 0, 250+100*$bar_unit, $y+($bar_height/2), $black, $font, $row->num_votes.' votes cast.');
$y = $y + ($bar_height * 1.5);
}
header("Content-Type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
: the image...cannot be displayed because it contains errors?
. 코드에 무슨 문제가 있습니까? 고맙습니다.
['error_reporting (E_ALL);'] (http://php.net/manual/en/function.error-reporting.php)가 먼저 와야합니다. –
error_reporting (E_ALL)을 추가했습니다. 코드를 먼저 읽으십시오. 여전히 오류 팁이 없습니다. – zhuanzhou
코드를 실행하고'exit (var_dump ($ some_variables))'를 실행하여 필요한 사항을 확인하십시오. –