assign или assignment

assign или assignment

от Илья Липаков -
Количество ответов: 2
Я не могу понять откуда берутся id у задания в GET запросе и как их достать?  
Cейчас  задания хранятся в таблице assign, раньше assignment и там был параметр 
$a  = optional_param('a', 0, PARAM_INT);   // Assignment ID - Здесь, я мог достать id assignment и передать в нужный GET запрос, а сейчас такого параметра нету, и как мне взять id - assign?

../../mod/assign/view.php?id=8, здесь id не является id таблицы Assign(задания), откуда это id , берётся? Раньше, я мог написать  ../../mod/assign/view.php?a=2 и всё ок)

В таблицу quiz, всё ок, там http://localhost/moodle/mod/quiz/view.php?q=2

Где: $q = optional_param('q',  0, PARAM_INT);  // Quiz ID.


В ответ на Илья Липаков

Re: assign или assignment

от Vadim Tabunshchik -
Изображение пользователя Developers
../../mod/assign/view.php?id=8, здесь id не является id таблицы Assign(задания), откуда это id , берётся?

Это id из таблицы `mdl_course_modules` (AS cm), где cm.instance = mdl_assign.id

В ответ на Vadim Tabunshchik

Re: assign или assignment

от Илья Липаков -

Всё равно выводит нет тот id

Функция:

function get_list_completed_assignments($userid, $courseid) {

global $DB;


$result = $DB->get_records_sql('SELECT  ass.course, cm.id AS id, ass.duedate, ag.assignment, ass.id, ass.name, ass.intro, ass_subm.assignment, ag.grade as endgrade, ass_subm.userid 

FROM {assign} AS ass

LEFT JOIN {assign_submission} AS ass_subm ON ass.id = ass_subm.assignment

LEFT JOIN {assign_grades} AS ag ON ag.assignment = ass_subm.assignment 

LEFT JOIN {course_modules} AS cm ON  cm.instance = ass.id

WHERE ass.course = :courseid AND ag.grade IS NOT NULL AND ag.userid = :userid',

array('userid'=>$userid,'courseid'=>$courseid));

return $result;


Перебор заданий:


$listAssign = get_list_completed_assignments($userid, $courseid);//Функция выполненных заданий


foreach ($listAssign as $value_assign) { //перебор выполненых заданий


echo $OUTPUT->box(

'<strong>'. get_string('name','block_studentcabinet') . '</strong> <p><a href="../../mod/assign/view.php?id

='.$value_assign->id.'">' .$value_assign->name. '</a></p>'. 

'<strong>'. get_string('description', 'block_studentcabinet'). '</strong> <em>' . $value_assign->intro. '</em>'. 

'<strong>'. get_string('endgrade', 'block_studentcabinet') . '</strong> <p>' .$value_assign->endgrade. '</p>'

); 

}