Userdaten auslesen via SQL

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
Corinne
Beiträge: 2
Registriert: 28. Okt 2011, 17:24

Userdaten auslesen via SQL

Beitrag von Corinne »

Hallo zusammen

Ich möchte für einen Verein Admidio einsetzten für die ganze Mitgliederverwaltung.

Dazu soll auf der dazugehörigen Website (Joomla) eine öffentliche Liste angezeigt werden einiger Mitglieder mit Name, Vorname, Strasse, PLZ, Ort, eMail, Telefon und das Bild dazu.

Damit dies nicht doppelt erfasst und gepflegt werden muss kann man die SQL Daten auslesen und im Joomla darstellen. Nun aber mein Problem, wie lese ich die Daten aus der adm_user_data und das Profil-Photo aus, damit dort alles wieder zusammenpasst :oops:

Hat jemand schon so ein SQL Select, der diese Felder ausliest?

Danke für Hilfe
Corinne
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hast Du Dir denn mal die Tabellen adm_user und adm_user_data angesehen? Die sind durch die User-ID verknüpft und lassen sich so relativ einfach per SQL auslesen. Ich gehe mal davon aus, dass Du Dich mit SQL Statements auskennst, dann sollte das kein Problem sein.

Wenn Du das Profilfoto in der Datenbank speicherst musst Du es über eine php Datei ausgeben, wir nutzen dafür die adm_program/modules/profile/profile_photo_show.php.

Gruss,
Matze
Corinne
Beiträge: 2
Registriert: 28. Okt 2011, 17:24

Beitrag von Corinne »

Danke Matze für Deine Antwort.


Ich habe nun eine neue View erstellt mit folgendem SQL-Statement:

Code: Alles auswählen

SELECT usr_id, CONCAT('<img src="mitgliederverwaltung/adm_program/modules/profile/profile_photo_show_joomla.php?

usr_id=',usr_id, '" >') AS image, 

CONCAT(id2.usd_value,' ', id1.usd_value) AS Name, id3.usd_value AS Adress, CONCAT(id4.usd_value,' ', id5.usd_value) AS Ort, 
id7.usd_value AS Telefon, id12.usd_value AS eMail, id21.usd_value AS Amt, rol_id

FROM adm_roles, adm_categories, adm_members, adm_users

LEFT JOIN adm_user_data id1 ON id1.usd_usr_id = usr_id
AND id1.usd_usf_id = 1

LEFT JOIN adm_user_data id2 ON id2.usd_usr_id = usr_id
AND id2.usd_usf_id = 2

LEFT JOIN adm_user_data id3 ON id3.usd_usr_id = usr_id
AND id3.usd_usf_id = 3

LEFT JOIN adm_user_data id4 ON id4.usd_usr_id = usr_id
AND id4.usd_usf_id = 4

LEFT JOIN adm_user_data id5 ON id5.usd_usr_id = usr_id
AND id5.usd_usf_id = 5

LEFT JOIN adm_user_data id7 ON id7.usd_usr_id = usr_id
AND id7.usd_usf_id = 7

LEFT JOIN adm_user_data id21 ON id21.usd_usr_id = usr_id
AND id21.usd_usf_id = 21

LEFT JOIN adm_user_data id12 ON id12.usd_usr_id = usr_id
AND id12.usd_usf_id = 12

WHERE rol_id in (2) AND id21.usd_value <> ""

AND rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id = 1
AND mem_rol_id = rol_id

AND mem_usr_id = usr_id
AND usr_valid = 1
ORDER BY id1.usd_value ASC
Und diese View lese ich dann mit einer Joomla-Grid-Erweiterung aus. Absolut super Ergebnis. 8)

Zusätzlich habe ich mal noch ein Joomla-Modul programmiert, welches die Geburtstage einliest. Mit Parameter-Einstellungen via Joomla Backend. Noch ist das eher eine Alpha-Version, aber funktioniert soweit.

Liebe Grüsse aus der Schweiz
Corinne
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Corinne,

wenn es den Alpha-Status verlassen hat, kannst Du es ja hier mal vorstellen. Ich bin mir sicher, das der ein oder andere Joomla Nutzer Interesse daran hätte...

Gruss,
Matze
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Beitrag von Jokus »

Je nachdem wie oft sich die Personen die mit ihren Adressen auf der Seite erscheinen sollen ändern, wäre es ggf sinnvoll eine eigene Rolle für diese anzulegen und bei deinem Datenbankabruf, immer diese bestimmte Rolle auszulesen.
Somit können auch weniger SQL begabte Menschen Personen hinzufügen oder entfernen, nur halt über Admidio in der Rollenverwaltung...

Viele Grüße
Malte
Antworten