SQL-Statement - Zeige alle Nutzer eines Kurses an

SQL-Statement - Zeige alle Nutzer eines Kurses an

von Moritz Grey -
Anzahl Antworten: 8

Hey liebe Experten, 

ich suche ein SQL-Statement, womit mi ich alle Benutzer eines Kurses anzeigenlassen kann. 

Sofern ihr mir zur Nutzung eines We bservices ratet, freue ich mich, wenn ihr mir ein Beispiel geben könnt. 


Danke Euch...


MGR

Mittelwert:  -
Als Antwort auf Moritz Grey

Dieser Forumsbeitrag wurde gelöscht.

Der Inhalt des Forumsbeitrags wurde gelöscht und kann nicht weiter angezeigt werden.
Als Antwort auf gelöscht

Re: SQL-Statement - Zeige alle Nutzer eines Kurses an

von Moritz Grey -
Hallo Ralf,

vielen, vielen Dank für die Hilfe!!!

Ich habe das Statemant jetzt wie folgt umgebaut:
SELECT distinct

u.lastname AS Nachname,

u.firstname AS Vorname,

c.fullname AS Kursname



FROM

mdl_user AS u INNER JOIN mdl_user_enrolments AS user_enr ON u.id = user_enr.userid

INNER JOIN mdl_enrol AS enr ON user_enr.enrolid = enr.id)

INNER JOIN mdl_course AS c ON enr.courseid = c.id)

INNER JOIN mdl_course_completions AS course_compl ON (user_enr.userid = course_compl.userid)

WHERE u.deleted=0

AND c.visible = 1
and c.visible = 0

and u.suspended=0
and u.suspended=1

AND c.category = %%CATEGORYID%%



Aber zentrale Frage: Wo trage ich die Kursnummer ein?

Danke nochmals lächelnd 
Als Antwort auf Moritz Grey

Re: SQL-Statement - Zeige alle Nutzer eines Kurses an

von Moritz Grey -
Wenn ich nun folgendes Statement nutze:
SELECT distinct
u.lastname AS Nachname,
u.firstname AS Vorname,
c.fullname AS Kursname

FROM
mdl_user AS u INNER JOIN mdl_user_enrolments AS user_enr ON u.id = user_enr.userid
INNER JOIN mdl_enrol AS enr ON user_enr.enrolid = enr.id

INNER JOIN mdl_course AS c ON enr.courseid = 638

INNER JOIN mdl_course_completions AS course_compl ON (user_enr.userid = course_compl.userid)

WHERE u.deleted=0

AND c.visible = 1
and c.visible = 0

and u.suspended=0
and u.suspended=1

Gibt mir PHPmyAdmin 0 Datensätze zurück... leider müssen es 26 sein traurig

Wo liegt mein Fehler?

Sorry, ich bin neu in dem Bereich... daher mögen sich div Fragen blöd für einen Experten anhören.
Als Antwort auf Moritz Grey

Re: SQL-Statement - Zeige alle Nutzer eines Kurses an

von Anton Tremetzberger -
Nutzerbild von Besonders aktive Moodler
Hallo Moritz,
bin mir nicht sicher, woran es liegt. Aber folgendes SQL-Statement nutze ich für diese Art der Abfrage - in der letzten Zeile trägst du die Kurs-ID ein.
BG Anton

SELECT username, idnumber,
concat('<a target="_new" href="%%WWWROOT%%/user/profile.php?id=',uu.id,'">',uu.id,'</a>') as userid_and_link,
firstname, lastname, email, suspended as 'deaktiviert: 1, aktiviert: 0'
FROM prefix_user_enrolments ue
JOIN prefix_enrol en ON ue.enrolid = en.id
JOIN prefix_user uu ON uu.id = ue.userid 
WHERE en.courseid = 962
Als Antwort auf Anton Tremetzberger

Re: SQL-Statement - Zeige alle Nutzer eines Kurses an

von Moritz Grey -
Hey schonmal kurzes Feedback:

Folgendes funktioniert...
... listet die eingeschriebenen User für alle auf lächelnd

SELECT distinct

u.lastname AS Nachname,

u.firstname AS Vorname,

c.fullname AS Kursname,
c.shortname as K_Kursname


FROM

(((mdl_user AS u INNER JOIN mdl_user_enrolments AS user_enr ON u.id = user_enr.userid)

INNER JOIN mdl_enrol AS enr ON user_enr.enrolid = enr.id)

INNER JOIN mdl_course AS c ON enr.courseid = c.id)

INNER JOIN mdl_course_completions AS course_compl ON (user_enr.userid = course_compl.userid)

WHERE u.deleted=0


Das Ziel wäre es jetzt, irgendwo die Course-ID einzutragen, dass nur von dem Kurs die User ausgegeben werde, dann muss das Array in PHP nicht aufgebrochen werden....

Zu Deinem Statement gebe ich Dir gleich Feedback
Als Antwort auf Moritz Grey

Dieser Forumsbeitrag wurde gelöscht.

Der Inhalt des Forumsbeitrags wurde gelöscht und kann nicht weiter angezeigt werden.
Als Antwort auf Anton Tremetzberger

Re: SQL-Statement - Zeige alle Nutzer eines Kurses an

von Moritz Grey -
You are the greatest person of the day lächelnd I'm Happy... it works lächelnd

Es funktioniert Du bist einfach nur Spitze!!!!!!!!!!!!!!!!!!!