Forum Ogólne

Ukończenie kursu - kwerenda.

 
Obraz Bartek Kowalski
Ukończenie kursu - kwerenda.
 

Cześć, 


Stworzyłem kwerendę pokazującą mi dane osób, które ukończyły kurs i coś jest nie tak bo dane generowane ręcznie nie pokrywają się z nią. 

chodzi o parametr: ccom.timecompleted - nie wiem czy, aby napewnoe ten, który służy śledzeniu ukończenia. Może macie doświadczenia z takimi kwerendami i coś mi możecie podpowiedzieć? 

Obraz boruh compl
Re: Polski Moodle: Ukończenie kursu - kwerenda.
 
nie wiem, która wersja moodla  ale na 3.1 robiłem to jakimś polem

attemp_finisch (chyba ) które było null dla otwartych lub wypełnione

datą i godziną dla ukończonych.
Obraz Jacek Krzymowski
Odp: Ukończenie kursu - kwerenda.
 

Ukończenie kursu rozpoznaje się po dacie (timecompleted) w tabeli prefix_course_completions.  W przypadku braku ukończenia pole daty jest puste.

Żeby dane o ukończeniu pojawiły się w tej tabeli trzeba wykonać odpowiednie zadanie (\core\task\completion_regular_task). 


Obraz Bartek Kowalski
Odp: Ukończenie kursu - kwerenda.
 

Ok, to już wiem czemu raport nie pokrywał się tej osobie z tym, co napisałem. 


Ten nauczyciel chce śledzić nie ukończenie kursu, ale ukończenie testu - quizu. I teraz już sam nie wiem z której tabeli to muszę pobrać...

Obraz boruh compl
Odp: Ukończenie kursu - kwerenda.
 

sprawdziłem i wychodzi na to że całość wyników leży w `mdl_grade_grades`

pole finalgrade. to ocena końcowa

resztę sobie po ID powiążesz

jak coś to zapraszam uśmiech 

Obraz Bartek Kowalski
Odp: Ukończenie kursu - kwerenda.
 

Ok, dzięki za naprowadzenie. 


Wychodzi na to, że aby poprawnie taką kwerendę napisać muszę zaczytać podstawowe info o użytkowniku z tabeli user oraz te informacje z tabeli z ocenami? 

Obraz boruh compl
Re: Polski Moodle: Odp: Ukończenie kursu - kwerenda.
 
zrob sobie widok z 3 tabel.
Obraz Bartek Kowalski
Odp: Re: Polski Moodle: Odp: Ukończenie kursu - kwerenda.
 

Chciałem przerobić tę kwerendę (poniżej) bo nad nią pracowałem wcześniej. Ona zaczytuje dane z pola user, ale jak zmieniam na grade_grades to wywala mi cały czas błąd, że w strukturze tej tabeli nie ma takiej części. 

SELECT  firstname, lastname, department AS "Region", ccat.name AS "Kategoria Kursu",c.fullname as "Nazwa Kursu",

case 

  when ccom.timecompleted IS NULL then 'Nie Ukończony' 

  when ccom.timecompleted IS NOT NULL then 'Ukończony'

end as "Status ukończenia"

FROM {user} AS u 

  JOIN {course_completions} AS ccom ON u.id = ccom.userid

  JOIN {course} AS c ON c.id = ccom.course

  JOIN {course_categories} AS ccat ON c.category = ccat.id

WHERE department ='1-235' or department ='1-259' or department ='1-261' or department ='1-262' or department ='1-263' or department ='1-304' or department ='1-318' or department ='1-330' or department ='1-364' or department ='1-366' or department ='1-391' or department ='1-409' or department ='1-477' or department ='1-700' or department ='1-701' or department ='1-708' or department ='1-091' or department ='1-094' and u.deleted = 0 and u.suspended = 0

ORDER BY u.email,ccat.name,c.fullname