Вывод курсов

Вывод курсов

от Илья Липаков -
Количество ответов: 2

Как вывести те курсы, которые назначены определённому пользователю? У меня выводится все курсы, у всех пользователей(

Мой запрос: 

function get_list_courses() {

  global $DB;

  return $DB->get_records_sql('SELECT ue.enrolid, e.id, e.courseid, c.id, c.fullname FROM     {user_enrolments} as ue 

  LEFT JOIN {enrol} as e ON ue.enrolid = e.id 

  LEFT JOIN {course} as c ON e.courseid = c.id');   

}

Код на странице, в которой будет выводится курсы

echo $OUTPUT->header();

echo $OUTPUT->heading(get_string('view_archive','block_studentcabinet'));


$courses = get_list_courses();


    $table = new html_table();

    $table->head = array(get_string('courses','block_studentcabinet'));

    $table->width = '300px';

    //$table->data = array();


foreach ($courses as $value_courses) {

    $table->data[] = array(

    '<a href="../../course/view.php?id='.$value_courses->id.'">' .$value_courses->fullname. '</a><br/>'

    );

}

echo html_writer::table($table);

echo $OUTPUT->footer(); 



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

Re: Вывод курсов

от Илья Липаков -
function get_list_courses($userid) {
  global $DB;
  return $DB->get_records_sql('SELECT ue.enrolid, e.id, e.courseid, c.id, c.fullname FROM
  {user_enrolments} as ue  WHERE ue.userid = :userid
  LEFT JOIN {enrol} as e ON ue.enrolid = e.id 
  LEFT JOIN {course} as c ON e.courseid = c.id', array('userid'=>$userid));   
}

Наверно будет такой запрос, теперь хотелось узнать как получить на странице viesw_corses.php конкретный  userid, чтобы передать параметр функции? 
В ответ на Илья Липаков

Re: Вывод курсов

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

Всё врубился, вот код если надо вывести все курсы конкретного пользователя)

страница logiclib.php

function get_list_courses($userid) {

    global $DB;

    return $DB->get_records_sql('SELECT ue.enrolid, e.id, e.courseid, c.id, c.fullname, ue.userid FROM       {user_enrolments} as ue 

   LEFT JOIN {enrol} as e ON ue.enrolid = e.id 

   LEFT JOIN {course} as c ON e.courseid = c.id WHERE ue.userid = :userid', array('userid'=>$userid));   

}  


Другая страница, где выводится курсы

<?php

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

require_once('logiclib.php');


global $COURSE, $USER, $DB;

$userid = $USER->id;


$PAGE->set_url('/blocks/studentcabinet/view_archive.php');

$PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));

$PAGE->set_title(get_string('courses','block_studentcabinet'));

$PAGE->navigation->add(get_string('view_archive','block_studentcabinet'), new moodle_url('/blocks/studentcabinet/view_archive.php'), navigation_node::TYPE_CONTAINER);


echo $OUTPUT->header();

echo $OUTPUT->heading(get_string('courses','block_studentcabinet'));


$courses = get_list_courses($userid);


    $table = new html_table();

    $table->head = array(get_string('courses','block_studentcabinet'));

    $table->width = '300px';

    //$table->data = array();


foreach ($courses as $value_courses) {

        $table->data[] = array(

            '<a href="../../course/view.php?id='.$value_courses->id.'">' .$value_courses->fullname. '</a><br/>'

            );

}


echo html_writer::table($table);

echo $OUTPUT->footer();

?>