⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 report.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 3 页
字号:
        $formatbpct->set_bold(1);        $formatbpct->set_num_format('0.0%');        $formatbrt =& $workbook->add_format();        $formatbrt->set_bold(1);        $formatbrt->set_align('right');        $formatred =& $workbook->add_format();        $formatred->set_bold(1);        $formatred->set_color('red');        $formatred->set_align('center');        $formatblue =& $workbook->add_format();        $formatblue->set_bold(1);        $formatblue->set_color('blue');        $formatblue->set_align('center');    /// Here starts workshhet headers        $myxls->write_string(0,0,$sheettitle,$formatb);        $headers = array(get_string('qidtitle','quiz_analysis'), get_string('qtypetitle','quiz_analysis'),                        get_string('qnametitle','quiz_analysis'), get_string('qtexttitle','quiz_analysis'),                        get_string('responsestitle','quiz_analysis'), get_string('rfractiontitle','quiz_analysis'),                        get_string('rcounttitle','quiz_analysis'), get_string('rpercenttitle','quiz_analysis'),                        get_string('qcounttitle','quiz_analysis'),                        get_string('facilitytitle','quiz_analysis'), get_string('stddevtitle','quiz_analysis'),                        get_string('dicsindextitle','quiz_analysis'), get_string('disccoefftitle','quiz_analysis'));        foreach ($headers as $key => $header) {            $headers[$key] = preg_replace('/<br[^>]*>/', ' ', $header);        }        $col = 0;        foreach ($headers as $item) {            $myxls->write(2,$col,$item,$formatbc);            $col++;        }        $row = 3;        foreach($questions as $q) {            $rows = $this->print_row_stats_data($q);            foreach($rows as $rowdata){                $col = 0;                foreach($rowdata as $item){                    $myxls->write($row,$col,$item,$format);                    $col++;                }                $row++;            }        }    /// Close the workbook        $workbook->close();        exit;    }    function Export_ODS(&$questions, $filename) {        global $CFG;        require_once("$CFG->libdir/odslib.class.php");    /// Calculate file name        $filename .= ".ods";    /// Creating a workbook        $workbook = new MoodleODSWorkbook("-");    /// Sending HTTP headers        $workbook->send($filename);    /// Creating the first worksheet        $sheettitle = get_string('reportanalysis','quiz_analysis');        $myxls =& $workbook->add_worksheet($sheettitle);    /// format types        $format =& $workbook->add_format();        $format->set_bold(0);        $formatbc =& $workbook->add_format();        $formatbc->set_bold(1);        $formatb =& $workbook->add_format();        $formatb->set_bold(1);        $formaty =& $workbook->add_format();        $formaty->set_bg_color('yellow');        $formatyc =& $workbook->add_format();        $formatyc->set_bg_color('yellow'); //bold text on yellow bg        $formatyc->set_bold(1);        $formatyc->set_align('center');        $formatc =& $workbook->add_format();        $formatc->set_align('center');        $formatbc->set_align('center');        $formatbpct =& $workbook->add_format();        $formatbpct->set_bold(1);        $formatbpct->set_num_format('0.0%');        $formatbrt =& $workbook->add_format();        $formatbrt->set_bold(1);        $formatbrt->set_align('right');        $formatred =& $workbook->add_format();        $formatred->set_bold(1);        $formatred->set_color('red');        $formatred->set_align('center');        $formatblue =& $workbook->add_format();        $formatblue->set_bold(1);        $formatblue->set_color('blue');        $formatblue->set_align('center');    /// Here starts workshhet headers        $myxls->write_string(0,0,$sheettitle,$formatb);        $headers = array(get_string('qidtitle','quiz_analysis'), get_string('qtypetitle','quiz_analysis'),                        get_string('qnametitle','quiz_analysis'), get_string('qtexttitle','quiz_analysis'),                        get_string('responsestitle','quiz_analysis'), get_string('rfractiontitle','quiz_analysis'),                        get_string('rcounttitle','quiz_analysis'), get_string('rpercenttitle','quiz_analysis'),                        get_string('qcounttitle','quiz_analysis'),                        get_string('facilitytitle','quiz_analysis'), get_string('stddevtitle','quiz_analysis'),                        get_string('dicsindextitle','quiz_analysis'), get_string('disccoefftitle','quiz_analysis'));        foreach ($headers as $key => $header) {            $headers[$key] = preg_replace('/<br[^>]*>/', ' ', $header);        }        $col = 0;        foreach ($headers as $item) {            $myxls->write(2,$col,$item,$formatbc);            $col++;        }        $row = 3;        foreach($questions as $q) {            $rows = $this->print_row_stats_data($q);            foreach($rows as $rowdata){                $col = 0;                foreach($rowdata as $item){                    $myxls->write($row,$col,$item,$format);                    $col++;                }                $row++;            }        }    /// Close the workbook        $workbook->close();        exit;    }    function Export_CSV(&$questions, $filename) {        $headers = array(get_string('qidtitle','quiz_analysis'), get_string('qtypetitle','quiz_analysis'),                        get_string('qnametitle','quiz_analysis'), get_string('qtexttitle','quiz_analysis'),                        get_string('responsestitle','quiz_analysis'), get_string('rfractiontitle','quiz_analysis'),                        get_string('rcounttitle','quiz_analysis'), get_string('rpercenttitle','quiz_analysis'),                        get_string('qcounttitle','quiz_analysis'),                        get_string('facilitytitle','quiz_analysis'), get_string('stddevtitle','quiz_analysis'),                        get_string('dicsindextitle','quiz_analysis'), get_string('disccoefftitle','quiz_analysis'));        foreach ($headers as $key => $header) {            $headers[$key] = preg_replace('/<br[^>]*>/', ' ', $header);        }        $text = implode("\t", $headers)." \n";        $filename .= ".txt";        header("Content-Type: application/download\n");        header("Content-Disposition: attachment; filename=\"$filename\"");        header("Expires: 0");        header("Cache-Control: must-revalidate,post-check=0,pre-check=0");        header("Pragma: public");        echo $text;        foreach($questions as $q) {            $rows = $this->print_row_stats_data($q);            foreach($rows as $row){                $text = implode("\t", $row);                echo $text." \n";            }        }        exit;    }    function print_row_stats_data(&$q) {        $qid = $q['id'];        $question = get_record('question', 'id', $qid);        $options = new stdClass;        $options->para = false;        $options->noclean = true;        $options->newlines = false;        $qtype = $question->qtype;        $qname = format_text($question->name, FORMAT_MOODLE, $options);        $qtext = format_text($question->questiontext, FORMAT_MOODLE, $options);        $responses = array();        foreach ($q['responses'] as $aid=>$resp){            $response = new stdClass;            if ($q['credits'][$aid] <= 0) {                $qclass = 'uncorrect';            } elseif ($q['credits'][$aid] == 1) {                $qclass = 'correct';            } else {                $qclass = 'partialcorrect';            }            $response->credit = " (".format_float($q['credits'][$aid],2).") ";            $response->text = format_text("$resp", FORMAT_MOODLE, $options);            $count = $q['rcounts'][$aid].'/'.$q['count'];            $response->rcount = $count;            $response->rpercent =  '('.format_float($q['rcounts'][$aid]/$q['count']*100,0).'%)';            $responses[] = $response;        }        $count = format_float($q['count'],0);        $facility = format_float($q['facility']*100,0);        $qsd = format_float($q['qsd'],4);        $di = format_float($q['disc_index'],3);        $dc = format_float($q['disc_coeff'],3);        $result = array();        $response = array_shift($responses);        $result[] = array($qid, $qtype, $qname, $qtext, $response->text, $response->credit, $response->rcount, $response->rpercent, $count, $facility, $qsd, $di, $dc);        foreach($responses as $response){            $result[] = array('', '', '', '', $response->text, $response->credit, $response->rcount, $response->rpercent, '', '', '', '', '');        }        return $result;    }}define('QUIZ_ALLATTEMPTS', 0);define('QUIZ_HIGHESTATTEMPT', 1);define('QUIZ_FIRSTATTEMPT', 2);define('QUIZ_LASTATTEMPT', 3);function stats_sumx($data, $initsum){    $accum = $initsum;    foreach ($data as $v) {        $accum[0] += $v[0];        $accum[1] += $v[1];    }    return $accum;}function stats_sumx2($data, $initsum){    $accum = $initsum;    foreach ($data as $v) {        $accum[0] += $v[0]*$v[0];        $accum[1] += $v[1]*$v[1];    }    return $accum;}function stats_sumxy($data, $initsum){    $accum = $initsum;    foreach ($data as $v) {        $accum[0] += $v[0]*$v[1];        $accum[1] += $v[1]*$v[0];    }    return $accum;}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -