MOODLE - 便携式文档格式

问题描述 投票:0回答:1

希望从moodle自定义页面下载(PDF,CSV)数据。是否有API函数,需要调用从custompage下载数据。自定义页面有一个表格数据。

自定义页

$table = new html_table();
$table->head = array('course', 'users');
$table->attributes['class'] = 'table';

$sql = "SELECT c.fullname, count(cc.userid) AS 'completed'
        FROM {course_completions} cc JOIN {course} ON c.id = cc.course WHERE cc.timestarted > 0
        GROUP BY c.fullname ";

$mds = $DB->get_records_sql($sql);    
foreach ($mds as $m) {
    $table->data[] = new html_table_row(array(implode(array($m->fullname. $m->lastname)), 
                           $m->completed ));
}                              
echo html_writer::table($table); 
moodle
1个回答
0
投票

对于一个基本的PDF

require_once($CFG->libdir . '/pdflib.php');

$doc = new pdf();

$doc->AddPage();

$output = html_writer::table($table);

$doc->writeHTML($output);

$doc->Output('filename.pdf');

在Moodle源码中有一个更好的例子--libtestsotherpdflibtestpage.php。

对于CSV

require_once($CFG->libdir . '/csvlib.class.php');

csv_export_writer::download_array('filename.csv, $mds);

以上两点都应该是在打印任何东西到屏幕之前,所以它们被下载。

另外,在你的SQL中,你应该使用 GROUP BY c.id 因为课程全名不是唯一的。

© www.soinside.com 2019 - 2024. All rights reserved.