Eigene Liste generieren

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
superminis
Beiträge: 119
Registriert: 30. Jun 2008, 20:05
Wohnort: Baden
Kontaktdaten:

Eigene Liste generieren

Beitrag von superminis »

Ich verwende derzeit Admidio Version 2.0.9

Mein Ziel ist es, eine Liste aller Mitglieder zu erstellen die einer bestimmten Usergruppe angehören, diese in Tabellenform auszugeben, und zwar in Form von Vorname Nachname <Neue Zeile> Foto <Neue Zeile> Hobbies. Das Feld Hobbies ist ein selbst angelegtes Feld. Wenn der Benutzer auch Mitglieder der Gruppe "Administratoren" ist soll ein Hinweis eingeblendet werden. Ist der Benutzer erst seit letzten September oder später registriertes Mitglied, soll neben dem Namen der Schriftzug "New" eingeblendet werden.
Ich hatte das damals für Admidio 1.x.x schon, nur mit dem Umstieg auf Version 2.0.x konnte ich diese Liste dann wegen Datenbankänderungen nicht mehr verwenden.
Kann mir jemand den Weg weisen, wie ich das machen kann?

Und noch eine Frage an die Entwickler von Admidio: Wird diese Auswertung dann mit Admidio 2.1.x auch noch funktionieren?

Ich bin für jede Hilfe dankbar, derzeit stehe ich hier noch ganz am Anfag.
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hallo,

schon mal als ersten Hinweis, in ein paar Wochen erscheint Version 2.1 dort kannst Du die Eigenen Listen als Standardlisten abspeichern. Nicht funktionieren würde damit natürlich die New-Einblendung.

Noch eine Frage: Meinst Du wirklich neue Zeile oder doch vielleicht Spalte?

Gruß Jochen
superminis
Beiträge: 119
Registriert: 30. Jun 2008, 20:05
Wohnort: Baden
Kontaktdaten:

Beitrag von superminis »

Hm. Gute Frage ;-)

Ich möchte die Mitgliedsliste meiner Homepage (Link zur statischen Liste: http://www.superminis.dyn24.net/?s=ministranten) dynamisch erstellen. So wie man es auf der Seite sehen kann, soll es später auch wieder aussehen. Nur die Inhalte bzw. die einzelnen Mitgliedsblöcke sollen aus der Admidio-Datenbank gelesen werden.
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Re: Eigene Liste generieren

Beitrag von matzman2000 »

superminis hat geschrieben:Ich hatte das damals für Admidio 1.x.x schon, nur mit dem Umstieg auf Version 2.0.x konnte ich diese Liste dann wegen Datenbankänderungen nicht mehr verwenden.
Wenn Du schon eine lauffähige Liste von der Version 1.x.x hast, dann sollte es doch mit ein wenig Aufwand möglich sein, diese an die DB der neuen Version anzupassen.
Poste doch mal einen Teilausschnitt des Quelltextest, wo Du die DB ansprichst...
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Ah, sowas hab ich auch mal gebaut. Guck Dir doch das hier mal an http://www.messdiener-brand.de/ueberuns/obermds.php Meinst Du sowas.

Das ist zumindest schon mal die Steckbriefdarstellung. Mit aus der DB ausgelesenen Daten. Wer da angezeigt wird, ist momentan noch händisch eingegeben, aber daran sollte es dann auch nicht mehr scheitern.

Gruß Jochen
superminis
Beiträge: 119
Registriert: 30. Jun 2008, 20:05
Wohnort: Baden
Kontaktdaten:

Beitrag von superminis »

@jochen

Genau das meine ich.

Was ist da genau noch händisch eingegeben?

Kannst du mir deinen Code einmal posten / zeigen / schicken?
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hallo,

händisch eingegeben ist momentan welche User da angezeigt werden. Der einzelne Steckbrief sieht jeweils so aus.

Code: Alles auswählen

$user_id=333;
    $user = new User($g_db, $user_id);
    echo'
    <div class="formHead" style="width: 400px">';
        echo $user->getValue('Vorname'). ' '. $user->getValue('Nachname'); echo'
    </div>
    <div class="formBody" style="width: 400px; height: 180px; text-align: left;">
        <div style="width: 220px; float: left;">
            Geburtsdatum: '; echo mysqldatetime('d.m.y', $user->getValue('Geburtstag'));echo'<br><br>
            Telefon: '.$user->getValue('Telefon').'<br><br>
            Kirche: Erl&ouml;serkirche<br><br>
            <a class="normalLight" href="mailto:'.$user->getValue('E-Mail').'">E-Mail an '.$user->getValue('Vorname'). ' '. $user->getValue('Nachname').' schreiben</a>
        </div>
        <img src="profile_photo_show.php?a_user_id='.$user_id.'" align="right">
    </div>
    <br><br>';
Dazu gibts im gleichen Ordner noch eine Datei (profile_photo_show.php), die sich um die Anzeige der Bilder kümmert.

Code: Alles auswählen

require("../admidio/adm_program/system/common.php");
header("Content-Type: image/jpeg");

$a_user_id=$_GET["a_user_id"];

$allowed = array(333, 444, 532);

if(in_array($a_user_id, $allowed))
{
    $sql="  SELECT usr_photo
        FROM ".TBL_USERS."
        WHERE usr_id=$a_user_id";
    $result_photo = mysql_query($sql, $g_adm_con);

    echo @MYSQL_RESULT($result_photo,0,"usr_photo");
}
Das Array mit den erlaubten user_ids hat den Sinn, dass nicht jeder Homepagebesucher versuchen kann uneingeloggt Bilder aus der DB abzufragen.

Gruß Jochen
superminis
Beiträge: 119
Registriert: 30. Jun 2008, 20:05
Wohnort: Baden
Kontaktdaten:

Beitrag von superminis »

Jetzt ergibt sich die nächste Frage: Wie kann ich alle Benutzer, die der Rolle Superminis angehören alphabetisch sortiert ausgeben (im Stil Vorname, Nachname), sortiert nach Nachname von A-Z, zweispaltig, links alle männlichen Mitglieder, rechts alle weiblichen, und in die Liste auch noch das selbst angelegte Profilfeld "Hobbies" beinhaltend?

Ich habe in MySQL so gut wie keine Erfahrung.
Antworten