php moodle mysql_PHP+XAMPP+MYSQL:从MOODLE数据库提取数据并利用jpgraph生成柱状成绩对比图...

其实这个难点主要在两方面,代码逻辑比较简单,一方面难在SQL语句已经忘记了,要重新学起来,另一方面在不知道画幅如何自动生成。第一个问题已经解决,第二个问题是本项目中最后一个未实现的点。如果有缘人看到希望也能给出出主意,谢谢!

本项目是对MOODLE平台的学生成绩进行过程化管理展示,X轴为横坐标轴展示用户的学号,目前仅在本地模拟。Y轴为学生的成绩累加。每一个颜色代表了每一个项目(例如作业等)的成绩。目前还没有进行插件的封装,仅仅现在本地测试了一下各种情况下的数据:比如学生选不同课程,不同的课程有不同的成绩项目(MOODLE数据库的结构需要进行筛选否则成绩会出错)

下面先展示图形结果:

2c1bc90a55bec56b4cc83323a4289a8d.png

下面放上代码:

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();

其余的一些常规设置代码就不展示了,目前的问题就是不知道加粗的地方可不可以自动生成数组,因为每门课的同学都不一样,每一个同学都需要一个数组。或者有什么其他的好办法。。。。???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值