其实这个难点主要在两方面,代码逻辑比较简单,一方面难在SQL语句已经忘记了,要重新学起来,另一方面在不知道画幅如何自动生成。第一个问题已经解决,第二个问题是本项目中最后一个未实现的点。如果有缘人看到希望也能给出出主意,谢谢!
本项目是对MOODLE平台的学生成绩进行过程化管理展示,X轴为横坐标轴展示用户的学号,目前仅在本地模拟。Y轴为学生的成绩累加。每一个颜色代表了每一个项目(例如作业等)的成绩。目前还没有进行插件的封装,仅仅现在本地测试了一下各种情况下的数据:比如学生选不同课程,不同的课程有不同的成绩项目(MOODLE数据库的结构需要进行筛选否则成绩会出错)
下面先展示图形结果:
下面放上代码:
SQL:
UPDATE mdl_grade_grades SET rawgrade = 0 WHERE rawgrade IS null;
SELECT id FROM mdl_grade_items WHERE courseid='{$courseid};
SELECT DISTINCT userid FROM mdl_grade_grades WHERE itemid='{$id[$i]};
SELECT DISTINCT itemid FROM mdl_grade_grades;
SELECT rawgrade FROM mdl_grade_grades WHERE userid='{$Xline[$i]}' AND itemid='{$id[$u]};
PHP:
require_once ('C:/xampp/htdocs/jpgraph/jpgraph.php');
require_once ('C:/xampp/htdocs/jpgraph/jpgraph_bar.php');
$con=mysqli_connect("localhost","root","123","moodle");
mysqli_select_db($con,"moodle");
$bplot1 = new BarPlot($res[0]);
$bplot2 = new BarPlot($res[1]);
$bplot3 = new BarPlot($res[2]);
$bplot4 = new BarPlot($res[3]);
$bplot5 = new BarPlot($res[4]);
$accbar=new AccBarPlot(array($bplot1,$bplot2,$bplot3,$bplot4,$bplot5));
$graph->Add($accbar);
$accbar->value->Show();
$graph->Stroke();
其余的一些常规设置代码就不展示了,目前的问题就是不知道加粗的地方可不可以自动生成数组,因为每门课的同学都不一样,每一个同学都需要一个数组。或者有什么其他的好办法。。。。???