是否有人知道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);
答案 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