0

I have a webpage in which the records of student are being displayed which are stored in database there are many modules.I have to fetch the data from the database and display the graph according to their numbers that are stored in the database ...
the graph is of any type

i want the code ASAP

2
Contributors
3
Replies
4
Views
5 Years
Discussion Span
Last Post by diafol
0

http://bit.ly/sLX1O4

<?php
	@ $db=mysql_connect('localhost','root','mypass');
if(!$db)
{
echo 'ERROR:could not connect to database';
exit;
}
/*else
{
echo 'connection successful';
}*/
mysql_select_db('cdac',$db);
$query="select Class_Remarks from PGDASDD27 where module_name='DATA_STRUCTURES' AND Class_Remarks=(select MAX(Class_Remarks) from PGDASDD27 where module_name='DATA_STRUCTURES' AND Class_Remarks in(select Class_Remarks from PGDASDD27 where module_name='DATA_STRUCTURES' and Class_Remarks <(SELECT MAX(Class_Remarks)from PGDASDD27 where module_name='DATA_STRUCTURES')))";
$result=mysql_query($query);
$query="select Class_Remarks from PGDASDD27 where module_name='C++' AND Class_Remarks=(select MAX(Class_Remarks) from PGDASDD27 where module_name='C++' AND Class_Remarks in(select Class_Remarks from PGDASDD27 where module_name='C++' and Class_Remarks <(SELECT MAX(Class_Remarks)from PGDASDD27 where module_name='C++')))";
$result1=mysql_query($query);
$query="select Class_Remarks from PGDASDD27 where module_name='SQL_PL/SQL' AND Class_Remarks=(select MAX(Class_Remarks) from PGDASDD27 where module_name='SQL_PL/SQL' AND Class_Remarks in(select Class_Remarks from PGDASDD27 where module_name='SQL_PL/SQL' and Class_Remarks <(SELECT MAX(Class_Remarks)from PGDASDD27 where module_name='SQL_PL/SQL')))";
$result2=mysql_query($query);
$query="select Class_Remarks from PGDASDD27 where module_name='GENERAL APTITUDE' AND Class_Remarks=(select MAX(Class_Remarks) from PGDASDD27 where module_name='GENERAL APTITUDE' AND Class_Remarks in(select Class_Remarks from PGDASDD27 where module_name='GENERAL APTITUDE' and Class_Remarks <(SELECT MAX(Class_Remarks)from PGDASDD27 where module_name='GENERAL APTITUDE')))";
$result3=mysql_query($query);
//echo '<p>'.$query.'</p>';

	$values=array(
		"C++" => $result1*10,
		"DATA_STRUCTURES" => $result*10,
		"SQL" =>$result2*10 ,
		"GENERAL_APTITUDE" => $result3*10
	);

 
	$img_width=800;
	$img_height=600; 
	$margins=20;

 
	# ---- Find the size of graph by substracting the size of borders
	$graph_width=$img_width - $margins * 2;
	$graph_height=$img_height - $margins * 2; 
	$img=imagecreate($img_width,$img_height);
	
    
	
	$bar_width=20;
	$total_bars=count($values);
	$gap= ($graph_width- $total_bars * $bar_width ) / ($total_bars +1);

 
	# -------  Define Colors ----------------
	$bar_color=imagecolorallocate($img,0,64,128);
	$background_color=imagecolorallocate($img,240,240,255);
	$border_color=imagecolorallocate($img,200,200,200);
	$line_color=imagecolorallocate($img,220,220,220);
 
	# ------ Create the border around the graph ------

	imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);
	imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color);

 
	# ------- Max value is required to adjust the scale	-------
	$max_value=56;//max($values);
	$ratio= $graph_height/$max_value;

 
	# -------- Create scale and draw horizontal lines  --------
	$horizontal_lines=5;
	$horizontal_gap=$graph_height/$horizontal_lines;

	for($i=1;$i<=$horizontal_lines;$i++){
		$y=$img_height - $margins - $horizontal_gap * $i ;
		imageline($img,$margins,$y,$img_width-$margins,$y,$line_color);
		$v=intval($horizontal_gap * $i /$ratio);
		imagestring($img,0,5,$y-5,$v,$bar_color);

	}
 
 
	# ----------- Draw the bars here ------
	for($i=0;$i< $total_bars; $i++){ 
		# ------ Extract key and value pair from the current pointer position
		list($key,$value)=each($values); 
		$x1= $margins + $gap + $i * ($gap+$bar_width) ;
		$x2= $x1 + $bar_width; 
		$y1=$margins +$graph_height- intval($value * $ratio) ;
		$y2=$img_height-$margins;
		imagestring($img,0,$x1+3,$y1-10,$value,$bar_color);
		imagestring($img,0,$x1+3,$img_height-15,$key,$bar_color);		
		imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_color);
	}
	header("Content-type:image/png");
	imagepng($img);

?>

The above code is mostly right but there is some problem.like when the graph is being drawn the marks shown in the graph are not correct that means like if the student marks are 33 in the database then the graph shows the marks 40.it does not show the correct marks which are stored in the database...

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.