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

Recommended Answers

All 3 Replies

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...

Member Avatar for diafol

Can you isolate the lines that are causing the problem?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.