(date_time_selector)返回moodle

时间:2014-04-24 15:58:01

标签: php moodle

是否有人知道moodle中是否可以使用date_time_selector函数中的datetimepicker?我希望从变量中的date_time_selector中选择的日期/时间将其存储到数据库中。

这是我在edit.php中正在处理的代码,我缺少什么

require_once( '../../的config.php');

require_once($ CFG-> dirroot '/当然/ lib.php');

require_once($ CFG-> dirroot '/块/ myblcok / myblock_form.php');

全球$ DB;

require_login($SITE);

$block = new myblock();

$mform = new myblock_form();




if ($data  = $mform->get_data()) {


    $startdate = $data->startdate;
}




    $dataobject = new stdClass;
    $dataobject->name = get_string('entryname', 'myblock');
    $dataobject->description = get_string('entrydescription',
                                           'myblock');
    $dataobject->course = $COURSE->id;
    $dataobject->userid = $USER->id;
    $dataobject->starttime = $data->date;
    $DB->insert_record('event', $dataobject);
redirect($CFG->wwwroot.'/course/view.php?id='.$courseid, '', 0);

1 个答案:

答案 0 :(得分:1)

我假设这是以表格形式使用的? data_time_selector的返回值是一个时间戳,可以存储在数据库中。例如:

在edit_form.php文件中

require_once($CFG->dirroot.'/lib/formslib.php');

class edit_form extends moodleform {

    function definition () {

        $mform =& $this->_form;

        $mform->addElement('date_time_selector', 'mytime', get_string('mytime', 'mycomponent'));

    }
}

在edit.php中

require_once('edit_form.php');

$mform = new edit_form();

if ($data = $mform->get_data()) {
    // This is a timestamp.
    $mytime = $data->mytime;
}

编辑:

啊......您需要传递一个数据对象来插入记录,例如:

$newrecord = new StdClass();
$newrecord->mytime = $mytime;
$DB->insert_record('table', $newrecord);

或者,如果表单字段名称与字段名称相同,只需使用$ data对象,例如:

$DB->insert_record('table', $data);

浏览数据库API:

http://docs.moodle.org/dev/Data_manipulation_API#Inserting_Records