2012-07-03 91 views
0

這是我的代碼,我想使用MySQL中的數據創建線圖。任何幫助將不勝感激,如果我給了數組一個fiext值它會生成圖表,但現在使用查詢它沒有顯示任何東西。來自MySQL數據的線圖

<?php 
function linegraph ($arrval) 
{ 
$arrval; 
$height = 260; 
$width = 330; 
$im = imagecreate($width,$height); 
$white = imagecolorallocate($im,255,255,255); 
$gray = imagecolorallocate($im,200,200,200); 
$black = imagecolorallocate($im,0,0,0); 
$red = imagecolorallocate($im,255,0,0); 
$x = 21; 
$y = 11; 
$num = 0; 
while(($x <= $width) && ($y <= $height)) 
{ 
    $prcnt = ((($height-50)-($y-1))/($height-60))*100; 
    imageline($im, 21, $y, $width-10, $y, $gray); 
    imageline($im, $x, 11, $x, $height-50, $gray); 
    imagestring($im,2,1,$y-10,$prcnt.'%',$red); 
    imagestring($im,2,$x-3,$height-40,$num,$red); 
    $x += 30; 
    $y += 20; 
    $num++; 
} 
$tx = 20; 
$ty = 210; 
foreach($arrval as $values) 
{ 
    $cx = $tx + 30; 
    $cy = 200-$values; 
    imageline($im,$tx,$ty,$cx,$cy,$red);  
    imagestring($im,5,$cx-3,$cy-13,'.',$red); 
    $ty = $cy; 
    $tx = $cx; 
} 
imageline($im, 20, 11, 20, $height-50, $black); 
imageline($im, 20, $height-49, $width-10, $height-49, $black); 
return imagepng($im); 
} 
include ('/dbcon.php'); 
$dataarray = array(); 
$qr = "SELECT * FROM indicator WHERE indicatorid = '83';"; 
$res = mysql_query($qr); 
if($res) 
{ 
    $Data = mysql_fetch_array($res); 
    $topicid = $Data['topicid']; 
    $indid = 83; 
    $couid = 8; 
    $year = 2011-10; 
    for ($count=0; $count < 10; $count ++) 
    { 
     $qrdb = "SELECT value FROM databank WHERE topicid = '$topicid', indicatorid = '$indid', countryid = '$couid', yearid = '$year';"; 
     $result = mysql_query($result); 
     if ($result) 
     { 
      $DDB = mysql_fetch_array($result); 
      $dataarray[$count] = $DDB['value']; 
     } else { 
      echo "Data cannot be fetched form Databank"; 
     } 
    } 
} 
else 
{ 
    echo "MYSQL query Fail"; 
} 
linegraph($dataarray); 
?> 
+0

沒有近eno嗯在這個問題的信息能夠準確地回答,但它看起來像你可能要考慮使用'mysql_fetch_assoc'而不是'mysql_fetch_array'。其實,你可能不想使用這兩個函數中的任何一個,因爲它們都被棄用了...... –

回答

0

你有一個錯誤在您的查詢

SELECT value FROM databank 
WHERE topicid = '$topicid', 
indicatorid = '$indid', 
countryid = '$couid', 
yearid = '$year';" 

你應該使用,當你是一個update,當你是一個select你必須使用logical connectors

嘗試像這個:

SELECT value FROM databank 
WHERE topicid = '$topicid' and 
indicatorid = '$indid' and 
countryid = '$couid'and 
yearid = '$year';"